Дуд посоветовал registry, я пошел в поиск. Дуд пропал, а вопросы есть. Так что спрашиваю,
1) при копировании объекта в классе registry функция __construct() выполняется снова, или копируется уже полностью готовый объект? не понятен мне механизм клонирования.
2) если я скопирую объект мемкеша, мне придется заново открывать соединение или оно сохранится? так же исходит от непонимания механизма
под объектом я подразумеваю $cache в $cache = new Memcache;
под подключением метод $cache->connect('localhost', 11211);
сам класс registry
class Registry
{
/**
* Статическое хранилище для данных
*/
protected static $store = array();
/**
* Защита от создания экземпляров статического класса
*/
protected function __construct() {}
protected function __clone() {}
/**
* Проверяет существуют ли данные по ключу
*
* @param string $name
* @return bool
*/
public static function exists($name)
{
return isset(self::$store[$name]);
}
/**
* Возвращает данные по ключу или null, если не данных нет
*
* @param string $name
* @return unknown
*/
public static function get($name)
{
return (isset(self::$store[$name])) ? self::$store[$name] : null;
}
/**
* Сохраняет данные по ключу в статическом хранилище
*
* @param string $name
* @param unknown $obj
* @return unknown
*/
public static function set($name, $obj)
{
return self::$store[$name] = $obj;
}
}