PHP類中靜態方法如何呼叫非靜態方法?

2020-07-16 10:06:22

PHP類中靜態方法呼叫非靜態方法:首先在類中靜態方法中,需要範例化物件;然後再呼叫類中的方法,程式碼為【self::staticFun();A::staticFun()】。

PHP類中靜態方法呼叫非靜態方法:

非靜態方法呼叫靜態方法: 可以self或者 類名加::的形式呼叫

如下面的案例:

<?php
class A{
    public function noneStaticFun(){
        echo  __CLASS__." none static function<br/>";
    }
    public static function staticFun(){
        echo __CLASS__." static function<br/>";
        //靜態方法呼叫非靜態方法,需要範例化物件然後再呼叫物件中的非靜態方法
        (new A())->noneStaticFun();
    }
    public function testCallStaticFun(){
        echo "call static function<br/>";
        //呼叫本類的靜態方法,使用 self關鍵字或者類名
        self::staticFun();
        //A::staticFun(); //也可以使用這種方式
        //呼叫其它類的靜態方法,直接使用類名::方法名的形式呼叫
        B::myStaticFun();
    }
}
class B{
    public static function myStaticFun(){
        echo __CLASS__." static function<br/>";
    }
}
//演示
$testA = new A();
$testA->testCallStaticFun();
A::staticFun();

執行結果:

call static function
A static function
A none static function
B static function
A static function
A none static function

以上就是PHP類中靜態方法如何呼叫非靜態方法?的詳細內容,更多請關注TW511.COM其它相關文章!