有一个公共库,有一个类在一个PHP进程中只能有一个实例,所以是Singleton。问题是这个类的初始化需要一些配置参数,我找不到在类构造函数中传递它们的好问题。
我发现的唯一问题是:
public static function init($params) {
if(self::$instance) {
throw new Exception(__CLASS__ . ' already initialized');
}
$class = __CLASS__;
self::$instance = new $class($params);
}
public static function getInstance() {
if(!self::$instance) {
throw new Exception(__CLASS__ . ' is not initialized');
}
return self::$instance;
}
但我不认为它真的很好。还有其他想法吗?
谢谢!