为什么80%的码农都做不了架构师?>>>
问题:如何 在 父类 中调用 子类 的 静态属性 或 静态方法
自己看代码
class A
{private stitac name = "A类";public static function aaa(){//获取静态方法调用的类名$CalledClass = get_called_class();//输出子类的静态属性echo $CalledClass::name; //调用子类的静态方法$CalledClass::fun(); }
}class B extends A
{public stitac name = "B类";public static function fun(){echo "B类属性";}public static function ceshi(){self::aaa();}
}?>
例子: 现在有
日志管理类 ManageLoges ,
某功能类 DialogManage
每一个功能类都需要生成自己类名的日志,如过 每次生成日志时都传入类名!感觉 太拙劣了! 所以 上代码
ManageLoges 类
{private static $Log="错误:";//返回一个日志格式!public static function Log(){//获取静态方法调用的类名$CalledClass = get_called_class();$result = property_exists($CalledClass ,"LogPath" );if($result==true){//存在self::$Log = $CalledClass::$Log;}$log = self::$LogPath.$CalledClass."类中 ,请仔细检查";return $log;}}
?>
DialogManage 类
class DialogManage extends ManageLoges
{public static $Log="警告:"; // 你可以尝试把这一行注释掉,看结果有啥不同public static function ceshi(){echo self::Log();}
}
?>