get_called_class() 获取调用该方法的类,如果是在子类中调用父类方法,则返回子类的类名。
或者用static关键字: static::class
如果有多个子类,要在父类中调用子类方法,下面代码可实现:
class parent{ abstract protected static function getFunc($action); public static function call($action){ //调用子类静态方法,唯一的方式 $func = static::getFunc($action); if(!$func){ exit(); } try { $reflectionMethod = new ReflectionMethod(get_called_class(), $func); }catch (ReflectionException $e) { exit(); } return $reflectionMethod->invoke(null/*,$paras*/); } } class son extends parent{ public static function getFunc($action){ return "hello"; } }
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦