Задать вопрос
liaren
@liaren
Фрилансер, опенсорсер, тех лид

Каким образом конфигурировать инициализацию Singleton-а?

Есть библиотека, в которой имеет место быть класс, у которого в рамках одного процесса позволительно существование только одного инстанса, т.е. фактически это Singleton. Беда в том, что инициализация этого самого инстанса имеет несколько динамических параметров, которые надо каким-то образом передавать.


Решение должно работать на PHP > 5.2. Единственное, что мне пришло на ум:

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;
	}



Но оно кажется далеко не самым удачным. У кого-нибудь есть ещё какие идеи, паделитесь?

Спасибо!
  • Вопрос задан
  • 4861 просмотр
Подписаться 3 1 комментарий
Подписчики вопроса 3 К ответам на вопрос (9)