PHP 在父类中调用子类的 静态属性 或 静态方法

问题:如何 在 父类 中调用 子类 的 静态属性 或 静态方法 

     自己看代码

     

<?php
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 类

<?php

class 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  类

<?php

require_once("ManageLoges.php");

//社交管理类
class DialogManage extends ManageLoges
{
	public static $Log="警告:";  // 你可以尝试把这一行注释掉,看结果有啥不同
	
	public static function ceshi()
	{
            echo self::Log();
	}	
}
?>



转载于:https://my.oschina.net/2devil/blog/380936

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值