Использование реестраРеестр является контейнером для хранения объектов и значений в среде приложения. Посредством сохранения значения в реестре объект становится доступным всему приложению. Этот механизм является альтернативой использованию глобальных переменных. Типовое использование реестра - использование статических методов класса Zend_Registry. Вы можете также обращаться к элементам, сохраненным в реестре, как к элементам массива, поскольку класс реестра наследует от ArrayObject. Установка значений в реестре
Для того, чтобы сохранить значение в реестре, используйте
статический метод Example #1 Пример использования метода set()
Сохраняемое значение может быть объектом, массивом или скаляром. Вы
можете изменить значение, сохраненное под определенным индексом в
реестре, устанавливая новое значение методом Индекс может быть строкой или целочисленным значением, как в обычном массиве. Получение значений из реестра
Для того, чтобы получить запись из реестра, используйте статический
метод Example #2 Пример использования метода get()
Метод По объекту реестра можно производить итерацию. Example #3 Пример итерации по реестру
Создание объекта реестраКроме доступа к статическому реестру через статические методы, вы можете также непосредственно создавать экземпляр реестра и использовать его как объект. Экземпляр реестра, к которому вы обращаетесь через статические методы, просто является одним из таких экземпляров. Это сделано в целях удобства, т.к. оно сохраняется статически и вы можете обращаться к нему из любого места своего приложения.
Используйте традиционный конструктор Example #4 Пример создания реестра
После создания экземпляра вы можете использовать его с применением
методов доступа ArrayObject, или установить его как
статический экземпляр, используя статический метод
Example #5 Пример инициализации статического реестра
Метод Доступ к реестру как к массивуЕсли необходимо установить или получить несколько значений, то может быть удобным использовать для этого нотацию доступа к массивам. Example #6 Пример доступа как к массиву
Доступ к реестру как к объекту
К реестру можно обращаться так же, как к объекту, используя имена
индексов как имена свойств объекта. Для этого нужно специальным
образом создать объект, используя опцию
Example #7 Пример доступа как к объекту
Проверка существования индекса
Для проверки того, существует ли в реестре значение под определенным
индексом, используйте Example #8 Пример использования метода isRegistered() Для того, чтобы найти определенный индекс в объекте реестра, используйте конструкцию isset(), как в случае обычного массива. Example #9 Пример использования метода isset()
Создание подклассов
Статический реестр является экземпляром класса Zend_Registry. Если
вы хотите добавить в реестр дополнительный функционал, то можете
создать класс, наследующий от Zend_Registry и определить его как
используемый для статического реестра. Используйте статический метод
Example #10 Пример установки класса статического реестра
Реестр бросает исключение, если вы пытаетесь установить имя класса, используемого для статического реестра, после того, как было первое обращение к реестру. Рекомендуется устанавливать имя класса в загрузочном коде. Уничтожение статического реестра
Хотя обычно в этом нет необходимости, вы можете уничтожить
статический экземпляр реестра. Для этого используйте метод
Вы можете применять данный метод, если, например, хотите
использовать Example #11 Пример использования метода _unsetInstance()
|