|
由于靜態(tài)方法不需要通過(guò)對(duì)象即可調(diào)用,所以偽變量$this在靜態(tài)方法中不可用。
靜態(tài)屬性也可以由對(duì)象通過(guò)->操作符來(lái)訪問(wèn)。
用::方式調(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è)變量來(lái)動(dòng)態(tài)調(diào)用類。但該變量的值不能為關(guān)鍵字self, parent 或static。
復(fù)制代碼 代碼如下:
<?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"; // php 5.3.0之后可以動(dòng)態(tài)調(diào)用
print Bar::$my_static . "/n";
$bar = new Bar();
print $bar->fooStatic() . "/n";
?>
php里邊用Static關(guān)鍵字來(lái)定義靜態(tài)屬性和方法.
實(shí)例一:靜態(tài)屬性的引用方法
復(fù)制代碼 代碼如下:
<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static聲明靜態(tài)屬性
static$age=25;//static聲明靜態(tài)屬性
static$address="北京";//static聲明靜態(tài)屬性
function song(){
echo "My name is : ".self::$name."<br>";//類內(nèi)部:通過(guò)通過(guò)self 類訪問(wèn)靜態(tài)屬性
echo "I am ".self::$age."<br>";//類內(nèi)部:通過(guò)通過(guò)self 類訪問(wèn)靜態(tài)屬性
echo "I live in ".self::$address."<br>";//類內(nèi)部:通過(guò)self 類訪問(wèn)靜態(tài)屬性
}
}
echoperson::$name."<br>";//類外部:通過(guò)類名person訪問(wèn)靜態(tài)屬性
echoperson::$age."<br>";//類外部:通過(guò)類名person訪問(wèn)靜態(tài)屬性
echoperson::$address."<br>";//類外部:通過(guò)類名person訪問(wèn)靜態(tài)屬性
?>
實(shí)例二:靜態(tài)方法的引用方法
復(fù)制代碼 代碼如下:
<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static聲明靜態(tài)屬性
static$age=25;//static聲明靜態(tài)屬性
static$address="北京";//static聲明靜態(tài)屬性
staticfunction song(){ //聲明靜態(tài)方法song
echo "My name is : ".self::$name."<br>";//類內(nèi)部:通過(guò)通過(guò)self 類訪問(wèn)靜態(tài)屬性
echo "I am ".self::$age."<br>";//類內(nèi)部:通過(guò)通過(guò)self 類訪問(wèn)靜態(tài)屬性
echo "I live in ".self::$address."<br>";//類內(nèi)部:通過(guò)self 類訪問(wèn)靜態(tài)屬性
}
}
person::song()."<br>";//類外部:通過(guò)類名person訪問(wèn)靜態(tài)方法
?>
php技術(shù):php Static關(guān)鍵字實(shí)用方法,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。