靜態延遲繫結:
在一定的需求場景下,你有乙個父類和一些子類,你需要獲取這些子類的例項又不想在每個子類中寫重複的getinstance()
方法(子類例項化)。
php5.3之後加入的新的特性:靜態延遲繫結。這個特性允許在執行時獲取靜態繼承的上下文。
<?php
abstract class base
return self::$instance[$class];
}public abstract function getname();
}class a extends base
}class b extends base
}echo a::getinstance()->getname(), "\n";
echo b::getinstance()->getname(), "\n";
程式輸出:
ab
PHP延遲靜態繫結
1 self用法 self是指向定義它的當前類的指標。當前類 current class class person 獲取年齡 public static function getage 輸出 self name i am person self age 18 2 static用法 static是指向...
PHP延遲靜態繫結
所謂延遲靜態繫結,顧名思義,靜態呼叫時 符號左側的部分的的繫結是延遲,也就是說不再被解析為定義當前方法所在的類,而是在實際執行時計算的。class people public static function eat class fatguy extends people public static ...
PHP靜態延遲繫結
php版本5.3起增加了靜態延遲繫結,也稱遲繫結,主要用於在繼承範圍內引用靜態呼叫的類。簡單地來說 static 不再被解析為當前方法所定義的類,而是在實際執行時計算的。意外的繼承 class person class man extends person echo man say person在這...