您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關static和const關鍵字如何在php中使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
static關鍵字在類中描述的成員屬性和成員函數都是靜態的。
static成員能限制外部的訪問,因為static成員是屬于類的,而不是屬于任何對象實例。
從內存的角度講,其中對象是放在“堆內存”中,對象的引用是放在“棧內存”中,而靜態成員被放在初始化靜態段中,在類的第一次加載的時候加入的。可以讓對內存中的所有對象所共享。如下圖所示:
<?php class Person{ public static $myCountry = "中國"; public static function say(){ echo "我的祖國是:".self::$myCountry."<br>"; } } //輸出靜態屬性 echo Person::$myCountry."<br>"; //調用靜態方法 Person::say(); //修改靜態屬性 Person::$myCountry = "中國-江蘇"; echo Person::$myCountry."<br>"; ?>
輸出結果為:
中國 我的祖國是:中國 中國-江蘇
類中的靜態方法只能訪問類的靜態的屬性。類中的靜態的方法是不能訪問類的非靜態的成員的。我們用self來訪問類中的靜態屬性。self與this相似,只不過self代表靜態方法所在的類,this相似,只不過self代表靜態方法所在的類,this引用指針,代表調用此方法的對象。靜態方法是不用對象調用的,所有就沒有this這個引用了。沒有this這個引用了。沒有this,就沒辦法調用類中的其他的成員屬性。
const是一個定義常量的關鍵字。在類里面常用const來定義常量。用“const”修飾的成員屬性的訪問方式和“static”修飾的成員訪問的方式差不多,也是使用“類名”,在方法里面使用“self”關鍵字。但是不用使用“$”符號,也不能使用對象來訪問。
<?php class MyClass{ const constant = 'constant value'; function showConstant(){ //方法中調用常量,沒有$ echo self::constant."<br>"; } } //類直接調用,沒有$ echo MyClass::constant."<br>"; $class = new MyClass(); $class ->showConstant(); ?>
以上就是static和const關鍵字如何在php中使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。