《PHP實戰:開啟PHP Static 關鍵字之旅模式》要點:
本文介紹了PHP實戰:開啟PHP Static 關鍵字之旅模式,希望對您有用。如果有疑問,可以聯系我們。
聲明類成員或方法為static,就可以不實例化類而直接拜訪.不能通過一個對象來拜訪其中的靜態成員(靜態方法除外).PHP學習
為了兼容PHP4,如果沒有指定“可見性”,屬性和辦法默認為public.PHP學習
由于靜態辦法不需要通過對象即可調用,所以偽變量$this在靜態辦法中不可用.PHP學習
靜態屬性不可以由對象通過->操作符來拜訪.PHP學習
用::方式調用一個非靜態辦法會導致一個E_STRICT級別的錯誤.PHP學習
就像其它所有的PHP靜態變量一樣,靜態屬性只能被初始化為一個字符值或一個常量,不能使用表達式. 所以你可以把靜態屬性初始化為整型或數組,但不能指向另一個變量或函數返回值,也不能指向一個對象.PHP學習
PHP5.3.0之后,我們可以用一個變量來動態調用類.但該變量的值不能為關鍵字self, parent 或static.PHP學習
Example #1 靜態成員代碼示例PHP學習
<?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之后可以動態調用 print Bar::$my_static . " "; $bar = new Bar(); print $bar->fooStatic() . " "; ?>
Example #2 靜態辦法代碼示例PHP學習
<?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // As of PHP 5.3.0 ?>
關于static 中靜態變量和靜態辦法的總結 PHP學習
靜態變量PHP學習
靜態變量是只存在于函數作用域的變量,不過,在函數執行完成后,這種變量的值不會丟失,也就是說,在下一次調用這個函數時,變量仍然會記得原來的值.要將某個變量定義為靜態的,只需要在變量前加上 static 關鍵字即可.PHP學習
在類中,static關鍵字有兩種主要用法,一是用來定義靜態成員,一是用來定義靜態方法.在類的內部,可以使用作用域限定符 (::) 來拜訪不同層次作用域的變量.PHP學習
靜態辦法PHP學習
靜態辦法和非靜態辦法之間有一個重要的區別:在調用靜態辦法時,不再需要擁有類的實例.PHP學習
靜態辦法和非靜態辦法使用原則:一是如果某個辦法中不包含$this變量,就應該時靜態辦法;如果不需要類的實例,可能還應該使用靜態類,這樣可以免去實例化類的工作.另,在靜態辦法中時不能使用$this變量的,因為靜態辦法不屬于某個特定的實例.PHP學習
《PHP實戰:開啟PHP Static 關鍵字之旅模式》是否對您有啟發,歡迎查看更多與《PHP實戰:開啟PHP Static 關鍵字之旅模式》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/8405.html