In PHP 5.6:
When being inside a class we usually declare & call a public class variable like this:
class MyClass
{
    /**
     * @var int
     */
    public $myVar = 0;
    // call it in a public function:
   public function myFunction()
   {
       return $this->myVar;
   }
}
I call the function like this:
MyClass::myFunction();
In PHP 7.0 that code throws a fatal error:
Using $this when not in object context
After changing my PHP version back to 5.6 again, the error was gone.
Questions:
I have to admit that after reading the manual and changes from 5.6 to 7.0 I don't get it.
- How do we declare and call public class variables in PHP 7.0?
- How do we write this code to be compatible between 5.6 and 7.0?
Edit after comments:
So why then a static call on a non static method works in 5.6?
 
     
     
    