Есть ли большая разница между инициализацией класса реестра и использованием статических методов в производительности?
например
class Registry
{
private static $data;
public static function set($key,$value)
{
self::$data[$key] = $value;
}
public static function get($key)
{
return isset(self::$data[$key]) ? self::$data[$key] : false;
}
}
с другой стороны
class Registry
{
private $data = array();
public function set($key,$value)
{
$this->data[$key] = $value;
}
public function get($key)
{
return isset($this->data[$key]) ? $this->data[$key] : false;
}
}
есть ли большая […] разница в производительности
Нет. Основной проблемой будут неизбежные нарушения Инверсия зависимостей с первым подходом. Второй подход позволит внедрить объект реестра, улучшая тестируемость и расширяемость.
Других решений пока нет …