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