脚本宝典收集整理的这篇文章主要介绍了使用PHP 5.3中的实例方法的奇怪结果,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP class PErson { public $name = "George"; public function say_hi() { return ExtraMethods::hi(); } } class ExtraMethods { public function hi() { return "Hi,".$this->name; } } $george = new Person(); echo $george->say_hi(); ?>
这应该导致:
Hi,George
所以,根据第二部分,按设计.请记住它虽然使用了实际的对象实例(换句话说,如果你添加public $name =“SomethingElse”;对于ExtraMethods,结果仍然是Hi,George).
静态调用该方法不是正确的编码,但PHP会原谅您,并且只发出严格错误:
"Strict Standards: Non-static method ExtraMethods::hi() should not be called statically,assuming $this From incompatible context in ..."
当然,在这种情况下,只是将对象作为参数传递将更加清晰和可取.
以上是脚本宝典为你收集整理的使用PHP 5.3中的实例方法的奇怪结果全部内容,希望文章能够帮你解决使用PHP 5.3中的实例方法的奇怪结果所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。