php static方法指的是使用php中static關鍵字來定義靜態方法和屬性,static也可用於定義靜態變數以及後期靜態綁定,其使用語法如“public static $my_static = 'foo ';」。
推薦:《PHP教程》
Static(靜態)關鍵字
本頁說明了用static 關鍵字定義靜態方法和屬性。 static 也可用於定義靜態變數以及後期靜態綁定。
宣告類別屬性或方法為靜態,就可以不實例化類別而直接存取。靜態屬性不能透過一個類別已實例化的物件來存取(但靜態方法可以)。
為了相容於 PHP 4,如果沒有指定存取控制,則屬性和方法預設為公有。
由於靜態方法不需要透過物件即可調用,所以偽變數 $this 在靜態方法中不可用。
靜態屬性不可以由物件透過 -> 操作符來存取。
用靜態方式呼叫一個非靜態方法會導致一個 E_STRICT 等級的錯誤。
就像是它所有的 PHP 靜態變數一樣,靜態屬性只能被初始化為文字或常數,不能使用表達式。所以可以把靜態屬性初始化為整數或數組,但不能初始化為另一個變數或函數回傳值,也不能指向一個物件。
自 PHP 5.3.0 起,可以用一個變數來動態呼叫類別。但該變數的值不能為關鍵字 self,parent 或 static。
Example #1 靜態屬性範例
<?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 . "\n"; $foo = new Foo(); print $foo->staticValue() . "\n"; print $foo->my_static . "\n"; // Undefined "Property" my_static print $foo::$my_static . "\n"; $classname = 'Foo'; print $classname::$my_static . "\n"; // As of PHP 5.3.0 print Bar::$my_static . "\n"; $bar = new Bar(); print $bar->fooStatic() . "\n"; ?> </programlisting> </example> <example> <title>静态方法示例</title> <programlisting role="php"> <![CDATA[ <?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // 自 PHP 5.3.0 起 ?>
以上是php static方法指的是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!