Класс ClassRegistry
Класс Коллекции.
Хранилище объектов класса, каждый из которых зарегистрирован с ключом. Если вы попытаетесь добавить объект с тем же ключом дважды, ничего не произойдёт. Если вам нужен второй экземпляр объекта, присвойте ему другой ключ.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Utility/ClassRegistry.php
Краткое описание свойств
-
$_configprotectedПараметры по умолчанию для конструктора, индексированные по типуarray -
$_mapprotectedИмена имен классов, сопоставленных с объектом в реестре.array -
$_objectsprotectedИмена классов с их объектами.array
Краткое описание методов
- _duplicate() protectedПроверяет, является ли $alias дубликатом объекта $class.
- _getMap() protectedВозвращает имя класса в реестре.
- Добавляет $object в реестр, связывая его с именем $key.
- Устанавливает параметры по умолчанию для конструктора объекта.
- Очищает все объекты из ClassRegistry.
- Возвращает единственный экземпляр ClassRegistry.
- Возвращает объект, соответствующий заданному ключу.
-
Загружает класс, регистрирует объект в реестре и возвращает экземпляр объекта. ClassRegistry::init() используется как фабрика для моделей и обрабатывает правильное внедрение настроек, что помогает в тестировании.
- Возвращает true, если заданный ключ присутствует в ClassRegistry.
- Получает все ключи из реестра.
- Добавляет пару ключ-значение в реестр для сопоставления имени с классом в реестре.
- Получает все ключи из карты в реестре.
- Удаляет объект, соответствующий заданному ключу.
Подробное описание методов
_duplicate()source protected
_duplicate( string $alias , string $class )
Проверяет, является ли $alias дубликатом объекта $class.
Параметры
- строка
$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 - Тип объекта. Если этот параметр опущен, по умолчанию используется "Model"
- массив
$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 является массивом с числовыми ключами, несколько экземпляров класса будут сохранены в реестре, ни один экземпляр объекта не будет возвращён array( array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry'), array('class' => 'ClassName', 'alias' => 'AliasNameStoredInTheRegistry'), array('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–2017 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.
https://api.cakephp.org/2.10/class-ClassRegistry.html