您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么開啟PHP Static關(guān)鍵字中的旅模式”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
聲明類成員或方法為static,就可以不實(shí)例化類而直接訪問。不能通過一個(gè)對(duì)象來訪問其中的靜態(tài)成員(靜態(tài)方法除外)。
為了兼容PHP4,如果沒有指定“可見性”,屬性和方法默認(rèn)為public。
由于靜態(tài)方法不需要通過對(duì)象即可調(diào)用,所以偽變量$this在靜態(tài)方法中不可用。
靜態(tài)屬性不可以由對(duì)象通過->操作符來訪問。
用::方式調(diào)用一個(gè)非靜態(tài)方法會(huì)導(dǎo)致一個(gè)E_STRICT級(jí)別的錯(cuò)誤。
就像其它所有的PHP靜態(tài)變量一樣,靜態(tài)屬性只能被初始化為一個(gè)字符值或一個(gè)常量,不能使用表達(dá)式。 所以你可以把靜態(tài)屬性初始化為整型或數(shù)組,但不能指向另一個(gè)變量或函數(shù)返回值,也不能指向一個(gè)對(duì)象。
PHP5.3.0之后,我們可以用一個(gè)變量來動(dòng)態(tài)調(diào)用類。但該變量的值不能為關(guān)鍵字self, parent 或static。
Example #1 靜態(tài)成員代碼示例
<?php class Foo { public static $my_static = 'foo'; public function staticValue() { return self::$my_static; } } class Bar extends Foo { public function fooStatic() { return parent::$my_static; } } print Foo::$my_static . " "; $foo = new Foo(); print $foo->staticValue() . " "; print $foo->my_static . " "; // Undefined "Property" my_static print $foo::$my_static . " "; $classname = 'Foo'; print $classname::$my_static . " "; // PHP 5.3.0之后可以動(dòng)態(tài)調(diào)用 print Bar::$my_static . " "; $bar = new Bar(); print $bar->fooStatic() . " "; ?>
Example #2 靜態(tài)方法代碼示例
<?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // As of PHP 5.3.0 ?>
關(guān)于static 中靜態(tài)變量和靜態(tài)方法的總結(jié)
靜態(tài)變量
靜態(tài)變量是只存在于函數(shù)作用域的變量,不過,在函數(shù)執(zhí)行完成后,這種變量的值不會(huì)丟失,也就是說,在下一次調(diào)用這個(gè)函數(shù)時(shí),變量仍然會(huì)記得原來的值。要將某個(gè)變量定義為靜態(tài)的,只需要在變量前加上 static 關(guān)鍵字即可。
在類中,static關(guān)鍵字有兩種主要用法,一是用來定義靜態(tài)成員,一是用來定義靜態(tài)方法。在類的內(nèi)部,可以使用作用域限定符 (::) 來訪問不同層次作用域的變量。
靜態(tài)方法
靜態(tài)方法和非靜態(tài)方法之間有一個(gè)重要的區(qū)別:在調(diào)用靜態(tài)方法時(shí),不再需要擁有類的實(shí)例。
靜態(tài)方法和非靜態(tài)方法使用原則:一是如果某個(gè)方法中不包含$this變量,就應(yīng)該時(shí)靜態(tài)方法;如果不需要類的實(shí)例,可能還應(yīng)該使用靜態(tài)類,這樣可以免去實(shí)例化類的工作。另,在靜態(tài)方法中時(shí)不能使用$this變量的,因?yàn)殪o態(tài)方法不屬于某個(gè)特定的實(shí)例。
“怎么開啟PHP Static關(guān)鍵字中的旅模式”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。