Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php检查抽象方法是否存在_Php_Class_Abstract - Fatal编程技术网

php检查抽象方法是否存在

php检查抽象方法是否存在,php,class,abstract,Php,Class,Abstract,我的问题是。。。是否有办法检查B类上是否存在测试方法? 这样我就可以避免致命的错误了 希望它有意义 abstract class A{ abstract test(); function __construct (){ //check if test method exists on B// } } class B extends A{ } new B(); 以上解决了我的问题:)希望它能帮助别人。你为什么要这样做?使用抽象方法的目的是提醒您,扩展A的类必

我的问题是。。。是否有办法检查
B类
上是否存在
测试
方法? 这样我就可以避免致命的错误了

希望它有意义

abstract class A{
   abstract test();
   function __construct (){
       //check if test method exists on B//
   }
}

class B extends A{

}

new B();

以上解决了我的问题:)希望它能帮助别人。

你为什么要这样做?使用抽象方法的目的是提醒您,扩展
A
的类必须实现它(除非它们不“可实例化”)。好吧,假设我忘记了它是抽象的。。。然后错误可以向公众展示。。。所以我可以把一个不同的更用户友好的错误。
method_exists(get_called_class(),'test');