在PHP中,static關鍵字用來修飾成員屬性和成員方法,在類別的普通成員前面加上一個static關鍵字就可以將這個普通成員變成靜態成員,存取靜態成員的語法為“類別名稱::$靜態屬性”和“類別名稱::靜態方法()”。
本教學操作環境:windows10系統、PHP7.1版、DELL G3電腦
php中static的用法是什麼
在PHP 中,透過static 關鍵字修飾的成員屬性和成員方法稱為靜態屬性和靜態方法,這裡可以將它們統稱為靜態成員,類別中的靜態成員與類別中的一般成員不同,靜態成員不會被實例化到物件中,也就是說我們不需要實例化一個類,就可以透過類別來存取靜態成員。
在類別中宣告靜態變數很容易,我們可以在類別的普通成員前面加上一個 static 關鍵字,就可以將這個普通成員變成靜態成員了。這樣一來,我們可以在不實例化類別的情況下,直接存取類別中的這些靜態成員。存取靜態成員的語法格式如下:
类名::$静态属性 类名::静态方法()
其中::符號稱為範圍解析運算符,用於存取靜態成員、靜態方法和常數,也可以用來覆寫類別中的成員和方法。
如果要在類別內部的成員方法中存取靜態屬性,只要在靜態屬性的名稱前面加上操作符self::即可。
下面透過一個簡單的範例示範靜態成員的定義:
<?php class Website{ static public $name = '中文网<br>'; public $title = 'PHP教程'; public static function url(){ echo self::$name; echo 'http://www.php.cn/<br>'; echo $this -> title; } } Website::url(); ?>
運行結果如下:
中文网 http://www.php.cn/ Fatal error: Uncaught Error: Using $this when not in object context ……
注意:在靜態方法中,只能呼叫靜態變量,不能呼叫普通變數;而普通方法則可以呼叫靜態變數。
使用靜態成員,除了可以不需要實例化物件外,另一個作用就是在物件被銷毀後,仍然保存被修改的靜態數據,以便下次繼續使用,這一點和我們前面介紹的靜態變數相似。
【範例】宣告一個靜態變數$num,然後宣告一個方法,在方法的內部呼叫靜態變數並給變數的值加1;然後,實例化類別中的對象,最後,呼叫類別中的方法。
<?php class Website{ static public $num = 0; public function add(){ echo '$num 的值为:'.self::$num; self::$num++; } } $num1 = new Website(); $num1 -> add(); echo '<br>'; $num2 = new Website(); $num2 -> add(); ?>
運行結果如下:
$num 的值为:0 $num 的值为:1
靜態成員不用實例化對象,當類別第一次被載入時就已經分配了記憶體空間,所以直接呼叫靜態成員的速度要更快一些。但如果靜態成員宣告得過多,空間一直被佔用,反而影響系統的運作速度。
推薦學習:《PHP影片教學》
以上是php中static的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!