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