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

2021-09-10 09:56:28 字數 564 閱讀 3696

class test   

public static function action ()

}

暴龍神

2017-10-13 提問

預設排序

時間排序

2 個回答

答案對人有幫助,有參考價值3答案沒幫助,是錯誤的答案,答非所問

已採納可以使用 self::func

class test   

public static function action ()

}

但是在高版本php中已經過時了,

deprecated: non-static method test::func() should not be called statically in ……

建議使用(new self())->func();

class test   

public static function action ()

}

靜態方法呼叫非靜態方法

靜態方法不能 直接 呼叫非靜態變數,非靜態方法可以引用靜態變數。靜態方法不屬於物件,是屬於類的,不需要例項化 而非靜態變數是屬於物件的,需要先例項化。在乙個類的靜態成員中去訪問其非靜態成員,因為類的靜態成員先於類的非靜態成員存在,訪問乙個記憶體中不存在的東西會出錯。相反,非靜態方法可以引用靜態變數。...

PHP靜態與非靜態方法之間的呼叫

非靜態方法之間的呼叫 用 this 呼叫 public function test public function test1 訪問test輸出 string 15 this is a test1 this is a test非靜態方法呼叫靜態方法public function test3 publ...

靜態和非靜態方法 呼叫靜態和非靜態方法 原創

在學習php物件導向的時候,遇到了一些問題 class test1 在test1類中,定義了乙個test方法。一般呢,想要呼叫test方法的話,是通過例項化乙個物件來呼叫test方法的。比如 aaa.php php 正常的方式訪問普通方法test class test1 new new test1 ...