Класс WidgetRegistry
Регистр/фабрика для виджетов ввода.
Может использоваться помощниками/логикой представления для создания виджетов форм и других HTML-виджетов.
Этот класс обрабатывает сопоставление между именами и конкретными классами. Он также имеет базовый разрешитель зависимостей на основе имени, который позволяет виджетам зависеть друг от друга.
Каждый виджет должен ожидать экземпляр StringTemplate в качестве первого аргумента. Все остальные зависимости будут включены после.
Виджеты могут запросить текущее представление, используя виджет _view.
Подробное описание метода
__constructsource public
__construct( Cake\View\StringTemplate $templates , Cake\View\View $view , string|array $widgets [] )
Конструктор
Параметры
-
Cake\View\StringTemplate$templates - Экземпляр шаблонов для использования.
-
Cake\View\View$view - Экземпляр представления, устанавливаемый как виджет.
- string|array
$widgetsнеобязательно [] - См. метод add() для получения дополнительной информации.
_resolveWidgetsource protected
_resolveWidget( mixed $widget )
Разрешает спецификацию виджета в экземпляр.
Параметры
- mixed
$widget - Виджет для получения
Возвращает
Cake\View\Widget\WidgetInterfaceИнтерфейс Widget
Выбрасывает
RuntimeExceptionесли класс не может быть загружен или не реализует интерфейс WidgetInterface.
addsource public
add( array $widgets )
Добавляет или заменяет существующие экземпляры/конфигурации виджетов новыми.
Массивы виджетов могут быть либо описаниями, либо экземплярами. Например:
$registry->add([ 'label' => new MyLabelWidget($templates), 'checkbox' => ['Fancy.MyCheckbox', 'label'] ]);
Выше показано, как определять виджеты как экземпляры или как описания, включая зависимости. Классы могут быть определены с использованием обозначения плагина или полными именованными именами классов.
Параметры
- array
$widgets - Массив виджетов для использования.
Выбрасывает
RuntimeExceptionЕсли класс не реализует интерфейс WidgetInterface.
getsource public
get( string $name )
Получить виджет.
Будет либо извлекать уже созданный виджет, либо создавать новый экземпляр, если виджет был определён. Если виджет не определён, возвращается экземпляр виджета _default. Исключение будет выброшено, если виджет _default не определён.
Параметры
- string
$name - Имя виджета для получения.
Возвращает
Cake\View\Widget\WidgetInterfaceкласс интерфейса виджета.
Выбрасывает
RuntimeExceptionесли виджет не определён.
loadsource public
load( string $file )
Загрузить файл конфигурации, содержащий виджеты.
Файлы виджетов должны определять переменную $config, содержащую все виджеты для загрузки. Загруженные виджеты будут объединены с существующими виджетами.
Параметры
- string
$file - Файл для загрузки
Краткое описание свойств
© 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/3.1/class-Cake.View.Widget.WidgetRegistry.html