Финальный класс Phalcon\Registry

Реализует ArrayAccess, Countable, Iterator, Traversable

Source on GitHub

Реестр-это контейнер для хранения объектов и значений в пространстве приложения. Сохраняя значение в реестре, один и тот же объект всегда доступен во всем приложении.

<?php

$registry = new \Phalcon\Registry();

// Задать значение
$registry->something = "something";
// или
$registry["something"] = "something";

// Получить значение
$value = $registry->something;
// или
$value = $registry["something"];

// Проверьте, существует ли ключ
$exists = isset($registry->something);
// или
$exists = isset($registry["something"]);

// Сброс
unset($registry->something);
// или
unset($registry["something"]);

В дополнение к ArrayAccess, Phalcon\Registry также реализует Countable (count ($registry) возвращает количество элементов в реестре), Serializable и Iterator (вы можете выполнять итерации по реестру, используя цикл foreach) интерфейсы. Для PHP 5.4 и выше реализован интерфейс JsonSerializable.

Phalcon\Registry работает очень быстро (обычно быстрее, чем любая реализация реестра в пользовательском пространстве); однако это имеет свою цену: Phalcon\Registry является конечным классом и не может наследоваться от него.

Хотя Phalcon\Registry предоставляет методы, такие как get(), offsetGet(), count() и т. Д., Их не рекомендуется вызывать вручную (эти методы существуют в основном для соответствия интерфейсам, которые реализует реестр): $registry->get("property") в несколько раз медленнее, чем свойство $registry->property.

Внутренне все магические методы (и интерфейсы, кроме JsonSerializable) реализуются с использованием обработчиков объектов или аналогичных методов: это позволяет обходить относительно медленные вызовы методов.

Методы

final public __construct ()

Конструктор реестра

final public offsetExists (mixed $offset)

Проверяет, присутствует ли элемент в реестре

final public offsetGet (mixed $offset)

Возвращает индекс в реестре

final public offsetSet (mixed $offset, mixed $value)

Задает элемент в реестре

final public offsetUnset (mixed $offset)

Удаляет элемент из реестра

final public count ()

Проверяет, сколько элементов в регистре

final public next ()

Перемещение курсора на следующую строку реестра

final public key ()

Возвращает номер указателя активной строки в реестре

final public rewind ()

Перемотка курсора реестра в начало

public valid ()

Проверяет допустимость итератора

public current ()

Получает текущее значение во внутреннем итераторе

final public __set (mixed $key, mixed $value)

Задает элемент в реестре

final public __get (mixed $key)

Возвращает индекс в реестре

final public __isset (mixed $key)

...

final public __unset (mixed $key)

...