首頁 >後端開發 >PHP問題 >php static是什麼意思

php static是什麼意思

藏色散人
藏色散人原創
2021-06-10 09:08:252845瀏覽

php static是PHP中的一種關鍵字,使用static關鍵字即表示該成員為靜態成員,在類別的載入過程中只會保留一個副本,所有對靜態變數進行的操作都會對所有對象起作用。

php static是什麼意思

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

php static是什麼意思?

PHP中static關鍵字的作用與差異

可以對靜態方法進行訪問,對靜態成員無法存取。

使用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影片教學

以上是php static是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn