您好,登錄后才能下訂單哦!
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"; } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。