PHP

Паттерн Registry в PHP

Шаблон проектирования «Registry» или «Реестр» представляет собой что то вроде массива, доступного на всех уровнях приложения и используется для передачи данных между модулями заменяя глобальные переменные.

Паттерн реализован на статических методах и не требует создания экземпляра класса. Также для упрощения его использования рекомендуется использовать автозагрузку классов.

class Registry
{ 
    private static $_storage = array(); 

    /**
     * Установка значения.
     */
    public static function set($key, $value)
    { 
        return self::$_storage[$key] = $value;
    }

    /**
     * Получение значения.
     */
    public static function get($key, $default = null)
    {
        return (isset(self::$_storage[$key])) ? self::$_storage[$key] : $default;
    }

    /**
     * Удаление.
     */
    public static function remove($key)
    {
        unset(self::$_storage[$key]); 
        return true;
    }

    /**
     * Очистка.
     */
    public static function clean()
    {
        self::$_storage = array(); 
        return true;
    }
}

Как использовать?

Registry::set('sid', 'xxxxxx');

...

echo Registry::get('sid');
23 декабря 2017