PHP 父类静态方法中调用子类静态方法
admin
2023-07-28 16:00:12
0

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";
    }
}


相关内容

热门资讯

学校外墙瓷砖脱落砸到女高中生,... 7月2日,有广东网友通过社交平台发布视频称,广州市增城区一中学教学楼疑似外墙瓷砖脱落,一女学生被砸到...
感谢德国老铁 又送“全国放假一... 感谢德国老铁 又送“全国放假一天”  【感谢德国老铁 又送“全国放假一天”】北京时间6月30日凌晨,...
第三届澳门国际儿童艺术节精彩持...   由文化局主办的第三届澳门国际儿童艺术节现正举行,多项节目及活动深受大小朋友欢迎,其中《恐龙乐园》...
雇主失联留下女婴 保姆抚养23...   雇主失联留下女婴 保姆抚养23年  【雇主失联留下女婴 保姆抚养23年】7月1日消息,陕西安康保...
泽连斯基紧急中断出访返回基辅 ...   泽连斯基紧急中断出访返回基辅  【泽连斯基紧急中断出访返回基辅】7月2日据报道,因有情报显示俄罗...
仿生机器人订单超预期 优必选定位情感陪伴、不做家务的超仿生机器人预订量达13361台,顶配版最高价格99万元。而在2025...
不敌土耳其队后对记者发表不礼貌... 【环球网报道 记者 张江平】综合美联社等媒体7月1日报道,美国队于当地时间6月25日在美加墨世界杯小...
俄罗斯空袭基辅致27死91伤 新华社基辅7月2日电(记者李东旭)乌克兰基辅市军事管理局局长特卡琴科2日晚在社交媒体发文称,俄军1日...
茉莉奶白侵害LV商标权败诉,被... 7月2日,新黄河大鱼财经记者了解到,苏州市中院就路易威登马利蒂(Louis Vuitton Mall...
特朗普上台第一年是如何狂赚22... 美国总统特朗普2025年上台以来个人财富暴涨,这引来一片质疑声。美媒通过制图,解析了特朗普是如何赚到...