溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何使用PHP類(lèi)中靜態(tài)方法調(diào)用非靜態(tài)方法

發(fā)布時(shí)間:2020-07-16 13:50:29 來(lái)源:億速云 閱讀:139 作者:Leah 欄目:編程語(yǔ)言

這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹如何使用PHP類(lèi)中靜態(tài)方法調(diào)用非靜態(tài)方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

PHP類(lèi)中靜態(tài)方法調(diào)用非靜態(tài)方法:首先在類(lèi)中靜態(tài)方法中,需要實(shí)例化對(duì)象;然后再調(diào)用類(lèi)中的方法,代碼為【self::staticFun();A::staticFun()】。

PHP類(lèi)中靜態(tài)方法調(diào)用非靜態(tài)方法:

非靜態(tài)方法調(diào)用靜態(tài)方法: 可以self或者 類(lèi)名加::的形式調(diào)用

如下面的案例:

<?php
class A{
    public function noneStaticFun(){
        echo  __CLASS__." none static function<br/>";
    }
    public static function staticFun(){
        echo __CLASS__." static function<br/>";
        //靜態(tài)方法調(diào)用非靜態(tài)方法,需要實(shí)例化對(duì)象然后再調(diào)用對(duì)象中的非靜態(tài)方法
        (new A())->noneStaticFun();
    }
    public function testCallStaticFun(){
        echo "call static function<br/>";
        //調(diào)用本類(lèi)的靜態(tài)方法,使用 self關(guān)鍵字或者類(lèi)名
        self::staticFun();
        //A::staticFun(); //也可以使用這種方式
        //調(diào)用其它類(lèi)的靜態(tài)方法,直接使用類(lèi)名::方法名的形式調(diào)用
        B::myStaticFun();
    }
}
class B{
    public static function myStaticFun(){
        echo __CLASS__." static function<br/>";
    }
}
//演示
$testA = new A();
$testA->testCallStaticFun();
A::staticFun();

運(yùn)行結(jié)果:

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


關(guān)于如何使用PHP類(lèi)中靜態(tài)方法調(diào)用非靜態(tài)方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI