Spec-Zone.ru › CakePHP 3.8

Класс WidgetLocator

Реестр/фабрика для виджетов ввода.

Может использоваться помощниками/логикой представления для построения виджетов форм и других HTML виджетов.

Этот класс обрабатывает сопоставление между именами и конкретными классами. Он также имеет базовый решатель зависимостей на основе имени, который позволяет виджетам зависеть друг от друга.

Каждый виджет должен ожидать экземпляр StringTemplate в качестве своего первого аргумента. Все остальные зависимости будут включены после.

Виджеты могут запросить текущее представление, используя виджет _view.

Пространство имён: Cake\View\Widget
Расположение: View/Widget/WidgetLocator.php

Краткое описание свойств

  • $_templates protected
    Cake\View\StringTemplate
    Шаблоны для использования.
  • $_widgets protected
    array
    Массив виджетов + конфигурация виджетов.

Краткое описание методов

  • __construct() public
    Конструктор
  • _resolveWidget() protected
    Решает спецификацию виджета в экземпляр.
  • add() public
    Добавляет или заменяет существующие экземпляры/конфигурации виджетов новыми.
  • clear() public
    Очистить реестр и сбросить виджеты.
  • get() public
    Получить виджет.
  • load() public
    Загрузить конфигурационный файл, содержащий виджеты.

Подробное описание методов

__construct()source public

__construct( Cake\View\StringTemplate $templates , Cake\View\View $view , string|array $widgets = [] )

Конструктор

Параметры

Cake\View\StringTemplate $templates
Экземпляр шаблона для использования.
Cake\View\View $view
Экземпляр представления для установки в качестве виджета.
string|array $widgets optional []
См. метод add() для получения дополнительной информации.

_resolveWidget()source protected

_resolveWidget( mixed $widget )

Решает спецификацию виджета в экземпляр.

Параметры

mixed $widget
Виджет для получения

Возвращает

Cake\View\Widget\WidgetInterface

Исключения

RuntimeException
когда класс не может быть загружен или не реализует WidgetInterface.
ReflectionException

add()source public

add( array $widgets )

Добавляет или заменяет существующие экземпляры/конфигурации виджетов новыми.

Массивы виджетов могут быть либо описаниями, либо экземплярами. Например:

$registry->add([
  'label' => new MyLabelWidget($templates),
  'checkbox' => ['Fancy.MyCheckbox', 'label']
]);

Это показывает, как определить виджеты как экземпляры или как описания, включая зависимости. Классы могут быть определены с помощью обозначения плагина или полных имён пространств имён.

Параметры

array $widgets
Массив виджетов для использования.

Исключения

RuntimeException
Когда класс не реализует WidgetInterface.

clear()source public

clear( )

Очистить реестр и сбросить виджеты.

get()source public

get( string $name )

Получить виджет.

Будет либо извлекать уже созданный виджет, либо создавать новый экземпляр, если виджет был определён. Если виджет не определён, будет возвращён экземпляр виджета _default. Исключение будет выброшено, если виджет _default не определён.

Параметры

string $name
Имя виджета для получения.

Возвращает

Cake\View\Widget\WidgetInterface
класс интерфейса виджета.

Исключения

RuntimeException
когда виджет не определён.
ReflectionException

load()source public

load( string $file )

Загрузить конфигурационный файл, содержащий виджеты.

Файлы виджетов должны определять переменную $config, содержащую все виджеты для загрузки. Загруженные виджеты будут объединены с существующими виджетами.

Параметры

string $file
Файл для загрузки

Подробное описание свойств

$_templatessource

protected Cake\View\StringTemplate

Шаблоны для использования.

$_widgetssource

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/3.8/class-Cake.View.Widget.WidgetLocator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API