Класс ClassRegistry
Коллекции классов.
Хранилище объектов класса, каждый из которых зарегистрирован с ключом. Если вы попытаетесь добавить объект с тем же ключом дважды, ничего не произойдёт. Если вам нужен второй экземпляр объекта, присвойте ему другой ключ.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Utility/ClassRegistry.php
Краткое описание свойств
-
$_configprotectedПараметры по умолчанию для конструктора, индексированные по типуarray -
$_mapprotectedИмена имён классов, сопоставленных с объектом в реестре.array -
$_objectsprotectedИмена классов с их объектами.array
Краткое описание методов
- _duplicate() protectedПроверяет, является ли $alias дубликатом $class Object
- _getMap() protectedВозвращает имя класса в реестре.
- Добавляет $object в реестр, связывая его с именем $key.
- Устанавливает параметры конструктора по умолчанию для типа объекта
- Очищает все объекты из ClassRegistry.
- Возвращает единственный экземпляр ClassRegistry.
- Возвращает объект, соответствующий заданному ключу.
-
Загружает класс, регистрирует объект в реестре и возвращает экземпляр объекта. ClassRegistry::init() используется в качестве фабрики для моделей и обрабатывает правильное внедрение настроек, что помогает в тестировании.
- Возвращает true, если заданный ключ присутствует в ClassRegistry.
- Получить все ключи из реестра.
- Добавляет пару ключ-значение в реестр, чтобы сопоставить имя с классом в реестре.
- Получить все ключи из карты в реестре.
- Удаляет объект, соответствующий заданному ключу.
Подробное описание методов
_duplicate()source protected
_duplicate( string $alias , string $class )
Проверяет, является ли $alias дубликатом $class Object
Параметры
- строка
$alias - Ключ для проверки.
- строка
$class - Имя класса.
Возвращает
boolean_getMap()source protected
_getMap( string $key )
Возвращает имя класса в реестре.
Параметры
- строка
$key - Ключ для поиска в карте
Возвращает
строкаСопоставленное значение
addObject()source public static
addObject( string $key , object $object )
Добавляет $object в реестр, связывая его с именем $key.
Параметры
- строка
$key - Ключ для объекта в реестре
- объект
$object - Объект для хранения
Возвращает
booleanTrue, если объект был записан, false, если $key уже существует
config()source public static
config( string $type , array $param array() )
Устанавливает параметр конструктора по умолчанию для типа объекта
Параметры
- строка
$type - Тип объекта. Если этот параметр опущен, по умолчанию используется "Модель"
- массив
$paramопционально array() Параметр, который будет передан в конструкторы объектов при создании объектов типа $type
Возвращает
смешанноеПустое значение, если $param устанавливается. В противном случае, если передан только $type, возвращает ранее установленное значение $param или null, если оно не установлено.
getInstance()source public static
getInstance( )
Возвращает единственный экземпляр ClassRegistry.
Возвращает
ClassRegistryэкземпляр
getObject()source public static
getObject( string $key )
Возвращает объект, соответствующий заданному ключу.
Параметры
- строка
$key - Ключ искомого объекта
Возвращает
смешанноеОбъект, хранящийся в реестре, или boolean false, если объект не существует.
init()source public static
init( string|array $class , boolean $strict false )
Загружает класс, регистрирует объект в реестре и возвращает экземпляр объекта. ClassRegistry::init() используется в качестве фабрики для моделей и обрабатывает правильное внедрение настроек, что помогает в тестировании.
Примеры Простое использование: Получить экземпляр модели Post ClassRegistry::init('Post');<pre>Expanded:array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry');```
Классы моделей могут принимать необязательные <span class="php-keyword1">array</span>(<span class="php-quote">'id'</span> => <span class="php-var">$id</span>, <span class="php-quote">'table'</span> => <span class="php-var">$table</span>, <span class="php-quote">'ds'</span> => <span class="php-var">$ds</span>, <span class="php-quote">'alias'</span> => <span class="php-var">$alias</span>);
Когда $class является массивом с числовыми ключами, несколько экземпляров class будут сохранены в реестре, и ни один экземпляр объекта не будет возвращен массив( массив('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry'), массив('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry'), массив('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry') ); ```
Параметры
- строка|массив
$class в виде строки или массива с одним ключом => значение, создается экземпляр, хранится в реестре и возвращается.
- логическое значение
$strictопционально false если установлено в true, оно вернет false, если класс не был найден, вместо того, чтобы пытаться создать AppModel
Возвращает
экземпляр $class класса ClassName.
Исключения
CakeExceptionпри попытке создать интерфейс или абстрактный класс.
isKeySet()source public static
isKeySet( string $key )
Возвращает true, если заданный ключ присутствует в ClassRegistry.
Параметры
- строка
$key - Ключ для поиска
Возвращает
booleantrue, если ключ существует в реестре, false в противном случае
keys()source public static
keys( )
Получить все ключи из реестра.
Возвращает
массивМножество ключей, хранящихся в реестре
map()source public static
map( string $key , string $name )
Добавить пару ключ-значение в реестр для сопоставления имени с классом в реестре.
Параметры
- строка
$key - Ключ для включения в карту
- строка
$name - Ключ, который сопоставляется
mapKeys()source public static
mapKeys( )
Получить все ключи из карты в реестре.
Возвращает
массивКлючи карты реестра
removeObject()source public static
removeObject( string $key )
Удалить объект, соответствующий заданному ключу.
Параметры
- строка
$key - Ключ объекта для удаления из реестра
Подробное описание свойств
$_configsource
protected массив
Параметры по умолчанию для конструктора, индексированные по типу
array()
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.8/class-ClassRegistry.html