Компоненты не должны извлекать или сохранять данные напрямую, и они, конечно, не должны сознательно представлять поддельные данные. Они должны сосредоточиться на представлении данных и делегировать доступ к данным службе. Сервисы - отличный способ обмениваться информацией между классами, которые не знают друг друга. Вы можете узнать больше на: Услуги
Я кодировал бы другой класс с помощью шаблона "одиночка" для получения единственного экземпляра кэш-памяти. Как это -
class MemCache
{
private static $instance = false;
private function __construct() {}
public static function getInstance()
{
if(self::$instance === false)
{
self::$instance = memcache_connect();
}
return self::$instance;
}
}
и использование -
$mc = MemCache::getInstance();
memcache_get($mc, ...)
...
Передача в экземпляре MC:
class abc
{
function __construct($mc) {
$this->mc = $mc;
}
}
class def
{
function __construct($mc) {
$this->mc = $mc;
}
}
$mc = new cache_class;
$abc = new abc($mc);
и т.д.
Я думаю, что Вы ищете статические свойства здесь.
class mc {
private static $instance;
public static function getInstance() {
if (self::$instance== null) {
self::$instance= new self;
}
return self::$instance;
}
private function __construct() {
$this->mem = memcache_connect(...);
}
}
Это реализует основной шаблон "одиночка". Вместо того, чтобы создать вызов объектов mc::getInstance()
. Взгляните на одиночные элементы.