我有最後的靜態方法 「的getInstance()」 單例類:PHP 5.3抽象單身班和兒童?
<?php
abstract class Singleton
{
protected static $instances;
final public static function getInstance()
{
$class = get_called_class();
if(!isset(static::$instances[$class]))
static::$instances[$class] = new $class();
return static::$instances[$class];
}
}
而且這樣的代碼:
<?php
class C1 extends Singleton { }
class C2 extends Singleton { }
C1::getInstance(); // Created C1 class
C2::getInstance(); // Still get C1 class, get_called_class() return C1 when i try get C2
什麼我做錯了什麼?
您使用的一個開始:) – GordonM 2012-01-18 08:58:38
單身[看起來工作得很好(http://codepad.viper-7.com/BlBDGC)。 – cmbuckley 2012-01-18 09:20:01