Her is my code:
class MyClass
{
public $prop;
public function method ()
{
echo $this->prop;
}
}
Then somewhere in the
Calling non-static methods statically generates an E_STRICT level warning.
http://php.net/manual/en/language.oop5.static.php
I suppose you have E_STRICT warnings suppressed. It works (likely for legacy reasons), but it's not recommended.
For legacy reasons, any class method could be called statically even if it wasn't declared static
, because you previously couldn't declare them as such. In those cases, $this
would simply refer to nothing because it's not an object-context variable.
In PHP 5 you get an E_STRICT
warning for calling non-static methods statically (as you just did).