私は、最終的な静的メソッド "の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
を[正常に動作するようです](http://codepad.viper-7.com/BlBDGC)。 – cmbuckley