PHPが親クラスで子クラスの静的属性または静的メソッドを呼び出す

1475 ワード

問題:親クラスでサブクラスの静的プロパティまたは静的メソッドを呼び出す方法
自分でコードを見る
     
<?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();
     }
}

?>

例:現在
ログ管理クラスManageLogs,
機能クラスDialogManagement
各機能クラスは、ログを生成するたびにクラス名が入力されるなど、独自のクラス名のログを生成する必要があります.拙い感じがします!だからコードをつける
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;
		}
	
}
?>

DialogManagementクラス
<?php

require_once("ManageLoges.php");

//     
class DialogManage extends ManageLoges
{
	public static $Log="  :";  //             ,       
	
	public static function ceshi()
	{
            echo self::Log();
	}	
}
?>