您好,登錄后才能下訂單哦!
小編給大家分享一下php中static指的是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php static是PHP中的一種關鍵字,使用static關鍵字即表示該成員為靜態成員,在類的加載過程中只會保留一個副本,所有對靜態變量進行的操作都會對所有對象起作用。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
php static是什么意思?
PHP中static關鍵字的作用和區別
PHP中的static與Java等其他面向對象語言不同,實例化出來的一個對象只可以對靜態方法進行訪問,對靜態成員無法訪問。
使用static關鍵字即表示該成員為靜態成員,在類的加載過程中只會保留一個副本,所有對靜態變量進行的操作都會對所有對象起作用
在PHP中靜態變量不能被實例化對象調用,靜態方法可以被對象調用
// ----類內部---- // 調用普通成員 this->name; // 調用靜態成員 self::name_static; // ----類外部---- // 調用普通成員需要實例化使用 Car c = new Car(); c->name; // 調用靜態方法 c::fun() <==> Car::fun() // 調用靜態變量 Car::name;
分析一段代碼:
class Car { private $name; private static $type = "Car"; function __construct($name) { $this->name = $name; echo "Car " . $name . " has created!\n"; } public static function getType() { echo self::$type . "\n"; } public function getName() { echo "Car name is " . $this->name . "\n"; } function __destruct() { echo "Car " . $this->name . " has destory!"; } }
一個實體類,定義了一個構造函數,一個靜態函數,一個普通函數,一個析構函數和一個普通成員變量、一個靜態成員變量。
使用PHPunit進行測試
class test extends PHPUnit_Framework_TestCase { public function test_car() { $car = new Car("BMW"); $car::getType(); $car->getName(); } }
可以得到輸出:
Car BMW has created! Car Car name is BMW Car BMW has destory!
以上是“php中static指的是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。