PHP Calling self on a non-static method
问题 Why is the 'self'-call to a non-satic method in this example working? class A{ protected function aNonStaticMethod(){ return __class__; } public function aEcho(){ echo self::aNonStaticMethod(); } } Thanks for explanation. 回答1: Calling non-static method statically Theoretically it should not work, but as this comment says: There was no static keyword in php4 but php4 did allow for static calls. To maintain backwards compatibility this was left in when the static keyword was added in php5. This