class parent{ function run($methodname) { echo method_exists(__CLASS__,$methodname); } } class child extends parent { function order(){ echo 'hello'; } } $test = new child(); $test->run('order'); //false
method_exists无法在子类中找到方法顺序.
如何使其工作?
__CLASS__绑定到它所使用的类,而不是继承类.您可以使用$this作为对象引用来解决此问题.
另见http://www.php.net/manual/en/language.oop5.late-static-bindings.php.