Класс ContextFactory
Фабрика для получения экземпляра контекста формы на основе предоставленных данных.
Краткое описание свойств
- $providers protected
arrayПоставщики контекста.
Краткое описание методов
-
__construct() public
Конструктор.
-
addProvider() public
Добавить новый тип контекста.
-
createWithDefaults() public static
Создать экземпляр фабрики с поставщиками "array", "form" и "orm".
-
get() public
Найти соответствующий контекст для данных.
Подробное описание методов
__construct() public
__construct(array $providers = [])
Конструктор.
Параметры
-
array$providers необязательно Массив вызываемых поставщиков. Каждый элемент должен иметь вид
['type' => 'a-string', 'callable' => ..]
addProvider() public
addProvider(string $type, callable $check): $this
Добавить новый тип контекста.
Типы контекста формы позволяют FormHelper взаимодействовать с поставщиками данных, которые поступают извне CakePHP. Например, если вы хотите использовать альтернативную ORM, такую как Doctrine, вы можете создать и подключить новый класс контекста, чтобы позволить FormHelper читать метаданные из Doctrine.
Параметры
-
string$type Тип контекста. Этот ключ может использоваться для перезаписи существующих поставщиков.
-
callable$check Вызываемый объект, который возвращает объект, когда контекст формы является правильного типа.
Возвращает
$thiscreateWithDefaults() public static
createWithDefaults(array $providers = []): static
Создать экземпляр фабрики с поставщиками "array", "form" и "orm".
Параметры
-
array$providers необязательно Массив вызываемых поставщиков. Каждый элемент должен иметь вид
['type' => 'a-string', 'callable' => ..]
Возвращает
staticget() public
get(Cake\Http\ServerRequest $request, array $data = []): Cake\View\Form\ContextInterface
Найти соответствующий контекст для данных.
Если ни один тип не может быть сопоставлен, будет возвращен NullContext.
Параметры
-
Cake\Http\ServerRequest$request Экземпляр запроса.
-
array$data необязательно Данные для получения поставщика контекста.
Возвращает
Cake\View\Form\ContextInterfaceИсключения
RuntimeExceptionПри невозможности создания экземпляра контекста для данного сущности.
Подробное описание свойств
$providers protected
Поставщики контекста.
Тип
array
© 2005–present 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/4.2/class-Cake.View.Form.ContextFactory.html