Класс View
Представление, V в триаде MVC. Представление взаимодействует с помощниками и переменными представления, передаваемыми из контроллера, чтобы отобразить результаты действия контроллера. Часто это HTML, но также может быть JSON, XML, PDF или потоковые файлы.
CakePHP использует двухэталонную модель представления. Это означает, что сначала содержимое шаблона отображается, а затем вставляется в выбранное макет. Это также означает, что вы можете передавать данные из шаблона в макет с помощью $this->set()
Класс View поддерживает использование плагинов в качестве тем. Вы можете установить
public function beforeRender(\Cake\Event\EventInterface $event)
{
$this->viewBuilder()->setTheme('SuperHot');
} в своём контроллере, чтобы использовать плагин SuperHot в качестве темы. Например, если текущее действие — PostsController::index(), то класс View будет искать файл шаблона plugins/SuperHot/templates/Posts/index.php. Если шаблон темы не найден для текущего действия, используется файл шаблона приложения по умолчанию.
Константы
-
stringNAME_TEMPLATE'templates'
Константа для типа, используемого для App::path().
-
stringPLUGIN_TEMPLATE_FOLDER'plugin'
Константа для имени папки, содержащей файлы для переопределения плагинов шаблонов.
-
stringTYPE_ELEMENT'element'
Константа для типа файла представления 'element'
-
stringTYPE_LAYOUT'layout'
Константа для типа файла представления 'layout'
-
stringTYPE_TEMPLATE'template'
Константа для типа файла представления 'template'.
Краткое описание свойств
- $Blocks public @property
Cake\View\ViewBlock - $Breadcrumbs public @property
Cake\View\Helper\BreadcrumbsHelper - $Flash public @property
Cake\View\Helper\FlashHelper - $Form public @property
Cake\View\Helper\FormHelper - $Html public @property
Cake\View\Helper\HtmlHelper - $Number public @property
Cake\View\Helper\NumberHelper - $Paginator public @property
Cake\View\Helper\PaginatorHelper - $Text public @property
Cake\View\Helper\TextHelper - $Time public @property
Cake\View\Helper\TimeHelper - $Url public @property
Cake\View\Helper\UrlHelper - $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУстановлена ли конфигурация свойства со значениями по умолчанию
- $_current protected
stringФайл представления, который в настоящее время отрисовывается. Используется для разрешения родительских файлов.
- $_currentType protected
stringВ настоящее время отрисовывается элемент. Используется для поиска родительских фрагментов для элементов.
- $_defaultConfig protected
array<string, mixed>Значения конфигурации по умолчанию.
- $_eventClass protected
stringИмя класса по умолчанию для новых объектов событий.
- $_eventManager protected
Cake\Event\EventManagerInterface|nullЭкземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
- $_ext protected
stringРасширение файла. По умолчанию «.php».
- $_helpers protected
Cake\View\HelperRegistryКоллекция хелперов
- $_parents protected
array<string>Имена представлений и их родителей, используемые с View::extend();
- $_passedVars protected
array<string>Список переменных для сбора из связанного контроллера.
- $_paths protected
array<string>Содержит массив путей.
- $_pathsForPlugin protected
array<string[]>Содержит массив путей плагинов.
- $_stack protected
array<string>Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();
- $_viewBlockClass protected
stringКласс ViewBlock.
- $autoLayout protected
boolВключает или выключает традиционный режим CakePHP для применения файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отрисовываемым шаблонам.
- $elementCache protected
stringКонфигурация кэша, которую будет использовать View для хранения кэшированных элементов. Изменение этого параметра изменит конфигурацию кэша, под которой хранятся элементы по умолчанию. Вы также можете выбрать конфигурацию кэша для каждого элемента.
- $helpers protected
arrayМассив имён встроенных хелперов для включения.
- $layout protected
stringИмя файла макета для отрисовки шаблона внутри него. Указанное имя является именем файла макета в
templates/layout/без расширения .php. - $layoutPath protected
stringИмя подпапки макетов, содержащей макеты для этого представления.
- $name protected
stringИмя контроллера, который создал представление, если таковой имеется.
- $plugin protected
string|nullИмя плагина.
- $request protected
Cake\Http\ServerRequestЭкземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- $response protected
Cake\Http\ResponseСсылка на объект Response
- $subDir protected
stringПодкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением
xml, $subDir будетxml/ - $template protected
stringИмя файла шаблона для отрисовки. Указанное имя является именем файла в
templates/<SubFolder>/без расширения .php. - $templatePath protected
stringИмя подпапки, содержащей шаблоны для данного представления.
Краткое описание методов
-
__construct() public
Конструктор
-
__get() public
Магический аксессор для помощников.
-
_checkFilePath() protected
Проверяет, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_createCell() protected
Создаёт и настраивает экземпляр ячейки.
-
_elementCache() protected
Генерирует параметры кэширования для элемента.
-
_evaluate() protected
Метод-песочница для оценки скрипта шаблона/представления.
-
_getElementFileName() protected
Находит имя файла элемента, возвращает false при ошибке.
-
_getLayoutFileName() protected
Возвращает имя файла макета для этого шаблона в виде строки.
-
_getSubPaths() protected
Находит все пути к подшаблонам, основанные на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь шаблона к $basePath, переходя вверх по иерархии в случае вложенного префикса. По существу, используется для поиска префиксных путей шаблонов для элементов и макетов.
-
_getTemplateFileName() protected
Возвращает имя файла шаблона заданного действия в виде строки. Имена действий с использованием CamelCase будут преобразовываться в нижний регистр с символом нижнего подчёркивания по умолчанию. Это означает, что вы можете иметь LongActionNames, которые ссылаются на шаблоны long_action_names.php. Вы можете изменить правило инфлексии, переопределив _inflectTemplateFileName.
-
_inflectTemplateFileName() protected
Изменяет имя файла шаблона представления на подчёркнутый формат.
-
_paths() protected
Возвращает все возможные пути к файлам представлений в порядке.
-
_render() protected
Отображает и возвращает вывод для заданного имени файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
-
_renderElement() protected
Отображает элемент и вызывает обратные вызовы before и afterRender для него, а также записывает в кэш, если используется кэш.
-
append() public
Добавляет к существующему или новому блоку.
-
assign() public
Устанавливает содержимое для блока. Это перезапишет любое существующее содержимое.
-
blocks() public
Получает имена всех существующих блоков.
-
cache() public
Создаёт кэшированный блок логики представления.
-
cell() protected
Отображает заданную ячейку.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
disableAutoLayout() public
Отключает традиционный режим CakePHP по применению файлов макета. Макеты не будут автоматически применяться к рендеренным представлениям.
-
dispatchEvent() public
Обёртка для создания и отправки событий.
-
element() public
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
-
elementExists() public
Проверяет, существует ли элемент.
-
enableAutoLayout() public
Включает или отключает традиционный режим CakePHP по применению файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным представлениям.
-
end() public
Завершение захвата блока. Комплементарная функция View::start()
-
exists() public
Проверяет, существует ли блок.
-
extend() public
Обеспечивает расширение/наследование шаблона или элемента. Шаблоны могут расширять родительский шаблон и заполнять блоки в родительском шаблоне.
-
fetch() public
Извлекает содержимое блока. Если блок пуст или не определён, возвращается ''.
-
get() public
Возвращает содержимое заданной переменной представления.
-
getConfig() public
Получение значения конфигурации.
-
getConfigOrFail() public
Возвращает конфигурацию для указанного ключа.
-
getCurrentType() public
Получение текущего типа шаблона.
-
getElementPaths() protected
Получает итератор для путей элементов.
-
getEventManager() public
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
-
getLayout() public
Получение имени файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в
templates/layout/без расширения .php. -
getLayoutPath() public
Получение пути к файлам макетов.
-
getLayoutPaths() protected
Получает итератор для путей макетов.
-
getName() public
Возвращает имя контроллера представления.
-
getPlugin() public
Возвращает имя плагина.
-
getRequest() public
Получение экземпляра запроса.
-
getResponse() public
Получение экземпляра ответа.
-
getSubDir() public
Получение подкаталога для файлов этого шаблона.
-
getTemplate() public
Получить имя файла шаблона для рендеринга. Указанное имя — имя файла в
templates/<SubFolder>/без расширения .php. -
getTemplatePath() public
Получить путь к файлам шаблонов.
-
getTheme() public
Получить текущую тему представления.
-
getVars() public
Возвращает список переменных, доступных в текущем контексте представления.
-
helpers() public
Получить используемый реестр помощников в этом классе представления.
-
initialize() public
Метод инициализации.
-
isAutoLayoutEnabled() public
Возвращает значение, указывающее, включен ли традиционный режим CakePHP применения файлов макетов. Отключение означает, что макеты не будут автоматически применяться к рендерным представлениям.
-
loadHelper() public
Загружает помощника. Делегирует загрузку помощника
HelperRegistry::load(). -
loadHelpers() public
Взаимодействие с HelperRegistry для загрузки всех помощников.
-
log() public
Удобный метод для записи сообщения в журнал. Подробнее о записи в журналы см. Log::write().
-
pluginSplit() public
Разделяет имя плагина в формате с точкой на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку.
-
prepend() public
Добавить в начало существующего или нового блока.
-
render() public
Рендерит представление для заданного файла шаблона и макета.
-
renderLayout() public
Рендерит макет. Возвращает вывод от _render().
-
reset() public
Сбросить содержимое блока. Это перезапишет любое существующее содержимое.
-
set() public
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
-
setConfig() public
Устанавливает конфигурацию.
-
setElementCache() public
Установить конфигурацию кэша, которую будет использовать View для хранения кэшированных элементов.
-
setEventManager() public
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
-
setLayout() public
Установить имя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в
templates/layout/без расширения .php. -
setLayoutPath() public
Установить путь к файлам макетов.
-
setPlugin() public
Устанавливает имя плагина.
-
setRequest() public
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:
-
setResponse() public
Устанавливает экземпляр ответа.
-
setSubDir() public
Установить подкаталог для файлов шаблонов.
-
setTemplate() public
Установить имя файла шаблона для рендеринга. Указанное имя — имя файла шаблона в
templates/<SubFolder>/без расширения .php. -
setTemplatePath() public
Установить путь к файлам шаблонов.
-
setTheme() public
Установить тему представления, которую нужно использовать.
-
start() public
Начать захват вывода для 'блока'.
Подробное описание методов
__construct() public
__construct(Cake\Http\ServerRequest|null $request = null, Cake\Http\Response|null $response = null, Cake\Event\EventManager|null $eventManager = null, array<string, mixed> $viewOptions = [])
Конструктор
Параметры
-
Cake\Http\ServerRequest|null$request optional Экземпляр запроса.
-
Cake\Http\Response|null$response optional Экземпляр ответа.
-
Cake\Event\EventManager|null$eventManager optional Экземпляр менеджера событий.
-
array<string, mixed>$viewOptions optional Параметры представления. См. {@link View::$_passedVars} для списка параметров, которые устанавливаются как свойства класса.
__get() public
__get(string $name): Cake\View\Helper|null
Магический аксессор для вспомогательных функций.
Параметры
-
string$name Имя атрибута для получения.
Возвращает
Cake\View\Helper|null_checkFilePath() protected
_checkFilePath(string $file, string $path): string
Проверяет, чтобы путь к файлу представления не выходил за пределы определённых путей к шаблонам.
Проверке будут подвергаться только пути, содержащие .., поскольку именно они чаще всего могут указывать на файлы за пределами путей к шаблонам.
Параметры
-
string$file Путь к файлу шаблона.
-
string$path Базовый путь, внутри которого должен находиться $file.
Возвращает
stringВызывает исключение
InvalidArgumentException_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidВызывает исключение
Cake\Core\Exception\CakeExceptionесли попытка перезаписать существующую конфигурацию
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ для записи.
-
mixed$value Значение для записи.
-
string|bool$merge optional True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Возвращает
voidВызывает исключение
Cake\Core\Exception\CakeExceptionесли попытка перезаписать существующую конфигурацию
_createCell() protected
_createCell(string $className, string $action, string|null $plugin, array<string, mixed> $options): Cake\View\Cell
Создает и настраивает экземпляр ячейки.
Параметры
-
string$className Имя класса ячейки.
-
string$action Имя действия.
-
string|null$plugin Имя плагина.
-
array<string, mixed>$options Параметры конструктора для ячейки.
Возвращает
Cake\View\Cell_elementCache() protected
_elementCache(string $name, array $data, array<string, mixed> $options): array
Генерирует параметры конфигурации кэша для элемента.
Параметры
-
string$name Имя элемента
-
array$data Данные
-
array<string, mixed>$options Параметры элемента
Возвращает
array_evaluate() protected
_evaluate(string $templateFile, array $dataForView): string
Метод песочницы для оценки скрипта шаблона/представления.
Параметры
-
string$templateFile Имя файла шаблона.
-
array$dataForView Данные для включения в отображаемое представление.
Возвращает
string_getElementFileName() protected
_getElementFileName(string $name, bool $pluginCheck = true): string|false
Находит имя файла элемента, возвращает false в случае неудачи.
Параметры
-
string$name Имя элемента для поиска.
-
bool$pluginCheck optional - если false, будет игнорировать плагин запроса, если проанализированный плагин не загружен
Возвращает
string|false_getLayoutFileName() protected
_getLayoutFileName(string|null $name = null): string
Возвращает имя файла макета для этого шаблона в виде строки.
Параметры
-
string|null$name optional Имя макета для поиска.
Возвращает
stringВызывает исключение
Cake\View\Exception\MissingLayoutExceptionкогда макет не может быть найден
RuntimeException_getSubPaths() protected
_getSubPaths(string $basePath): array<string>
Находит все пути к подшаблонам на основе $basePath. Если префикс определен в текущем запросе, этот метод будет добавлять путь к шаблону с префиксом к $basePath, каскадируя вверх в случае, если префикс вложен. Это используется для поиска путей к шаблонам с префиксом для элементов и макетов.
Параметры
-
string$basePath Базовый путь, для которого нужно получить путь с префиксом.
Возвращает
array<string>_getTemplateFileName() protected
_getTemplateFileName(string|null $name = null): string
Возвращает имя файла шаблона данного действия в виде строки. Имена действий в стиле CamelCase по умолчанию будут преобразованы в имена с подчеркиваниями. Это означает, что вы можете иметь LongActionNames, которые ссылаются на шаблоны long_action_names.php. Вы можете изменить правило склонения, переопределив _inflectTemplateFileName.
Параметры
-
string|null$name optional Действие контроллера, для которого нужно найти имя файла шаблона
Возвращает
stringВызывает исключение
Cake\View\Exception\MissingTemplateExceptionкогда файл шаблона не может быть найден.
RuntimeExceptionКогда имя шаблона не указано.
_inflectTemplateFileName() protected
_inflectTemplateFileName(string $name): string
Изменяет имя файла шаблона представления на формат с подчеркиваниями.
Параметры
-
string$name Имя файла, которое должно быть преобразовано.
Возвращает
string_paths() protected
_paths(string|null $plugin = null, bool $cached = true): array<string>
Возвращает все возможные пути для поиска файлов представлений в порядке
Параметры
-
string|null$plugin optional Необязательное имя плагина для поиска файлов представлений.
-
bool$cached optional Установить в false, чтобы принудительно обновить пути к представлениям. По умолчанию true.
Возвращает
array<string>_render() protected
_render(string $templateFile, array $data = []): string
Рендерит и возвращает вывод для данного имени файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
-
string$templateFile Имя файла шаблона
-
array$data optional Данные для включения в отображаемое представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
stringВызывает исключение
LogicExceptionКогда блок остается открытым.
_renderElement() protected
_renderElement(string $file, array $data, array<string, mixed> $options): string
Отображает элемент и вызывает обратные вызовы before и afterRender для него, а также записывает в кэш, если используется кэш
Параметры
-
string$file Путь к файлу элемента
-
array$data Данные для отображения
-
array<string, mixed>$options Параметры элемента
Возвращает
stringappend() public
append(string $name, mixed $value = null): $this
Добавить в существующий или новый блок.
Добавление в новый блок создаст блок.
Параметры
-
string$name Имя блока
-
mixed$value optional Содержимое блока. Значение будет преобразовано в строку.
Возвращает
$thisСм. также
assign() public
assign(string $name, mixed $value): $this
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
-
string$name Имя блока
-
mixed$value Содержимое блока. Значение будет преобразовано в строку.
Возвращает
$thisСм. также
blocks() public
blocks(): array<string>
Получить имена всех существующих блоков.
Возвращает
array<string>См. также
cache() public
cache(callable $block, array<string, mixed> $options = []): string
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэш, определенный в elementCache.
Этот метод сначала попытается считать кэш. Если кэш пустой, $block будет выполнен, и результат будет сохранен.
Параметры
-
callable$block Блок кода, для которого необходимо кэшировать вывод.
-
array<string, mixed>$options optional Параметры, определяющие ключ кэша и т.д.
Возвращает
stringВыбрасывает
RuntimeExceptionЕсли в $options отсутствует опция 'key'.
cell() protected
cell(string $cell, array $data = [], array<string, mixed> $options = []): Cake\View\Cell
Отображает заданный элемент.
Пример:
// Taxonomy\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('Taxonomy.TagCloud::smallList', ['limit' => 10]);
// App\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('TagCloud::smallList', ['limit' => 10]); Действие display будет использоваться по умолчанию, если действие не указано:
// Taxonomy\View\Cell\TagCloudCell::display()
$cell = $this->cell('Taxonomy.TagCloud'); Элементы не отображаются, пока они не будут выведены.
Параметры
-
string$cell Необходимо указать имя элемента, а также необязательно действие элемента. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызвано по умолчанию, если оно не указано.-
array$data optional Дополнительные аргументы для метода элемента. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])соответствуетView\Cell\TagCloud::smallList(v1, v2)-
array<string, mixed>$options optional Параметры для конструктора элемента
Возвращает
Cake\View\CellВыбрасывает
Cake\View\Exception\MissingCellExceptionЕсли класс элемента не найден.
configShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединить предоставленные настройки с существующими настройками. В отличие от config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив настроек.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisdisableAutoLayout() public
disableAutoLayout(): $this
Отключает стандартный режим CakePHP по применению файлов макета. Макеты не будут автоматически применяться к отображаемым представлениям.
Возвращает
$thisdispatchEvent() public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
Обертка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
-
string$name Имя события.
-
array|null$data optional Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
-
object|null$subject optional Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventInterfaceelement() public
element(string $name, array $data = [], array<string, mixed> $options = []): string
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Реализует концепцию элементов (или «частичных макетов»), и массив $params используется для отправки данных, которые будут использованы в элементе. Элементы могут быть кэшированы для повышения производительности с помощью опции cache.
Параметры
-
string$name Имя файла шаблона в папке
templates/element/, илиMyPlugin.template, чтобы использовать элемент шаблона из MyPlugin. Если элемент не найден в плагине, будет использоваться обычная цепочка поиска путей к представлению.-
array$data optional Массив данных, которые будут доступны отображаемому представлению (т.е. элементу).
-
array<string, mixed>$options optional Массив параметров. Возможные ключи:
Возвращает
stringВыбрасывает
Cake\View\Exception\MissingElementExceptionЕсли элемент отсутствует, и `ignoreMissing` равен false.
elementExists() public
elementExists(string $name): bool
Проверяет, существует ли элемент
Параметры
-
string$name Имя файла шаблона в папке
templates/element/, илиMyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет использоваться обычная цепочка поиска путей к представлению.
Возвращает
boolenableAutoLayout() public
enableAutoLayout(bool $enable = true): $this
Включает или отключает стандартный режим CakePHP по применению файлов макета. По умолчанию включено. Выключение означает, что макеты не будут автоматически применяться к отображаемым представлениям.
Параметры
-
bool$enable optional Булево значение для включения/выключения.
Возвращает
$thisend() public
end(): $this
Завершить захват блока. Комплементарное действие View::start()
Возвращает
$thisСм. также
exists() public
exists(string $name): bool
Проверить существование блока
Параметры
-
string$name Имя блока
Возвращает
boolextend() public
extend(string $name): $this
Предоставляет расширение/наследование шаблона или элемента. Шаблоны могут расширять родительский шаблон и заполнять блоки в родительском шаблоне.
Параметры
-
string$name Шаблон или элемент, с которым следует «расширить» текущий.
Возвращает
$thisВыбрасывает
LogicExceptionпри расширении шаблона самим собой или при создании циклов расширения.
LogicExceptionпри расширении элемента, которого нет
fetch() public
fetch(string $name, string $default = ''): string
Извлечь содержимое блока. Если блок пустой или неопределён, возвращается ''.
Параметры
-
string$name Имя блока
-
string$default необязательно Текст по умолчанию
Возвращает
stringСм. также
get() public
get(string $var, mixed $default = null): mixed
Возвращает содержимое заданной переменной представления.
Параметры
-
string$var Переменная представления, содержимое которой требуется.
-
mixed$default необязательно Значение по умолчанию/резервное содержимое $var.
Возвращает
mixedgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Получить значение конфигурации.
В настоящее время, если конфигурация не установлена, происходит обращение к соответствующей переменной представления с префиксом «underscore». Использование специальных переменных представления с префиксом «underscore» устарело, и этот механизм обратной совместимости будет удален в CakePHP 4.1.0.
Параметры
-
string|null$key необязательно Ключ для получения, или null для всей конфигурации.
-
mixed$default необязательно Возвращаемое значение, если ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для данного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключение
InvalidArgumentExceptiongetCurrentType() public
getCurrentType(): string
Получить текущий тип шаблона
Возвращает
stringgetElementPaths() protected
getElementPaths(string|null $plugin): Generator
Получить итератор путей к элементам.
Параметры
-
string|null$plugin Плагин для получения путей.
Возвращает
GeneratorgetEventManager() public
getEventManager(): Cake\Event\EventManagerInterface
Возвращает экземпляр менеджера событий Cake\Event\EventManager для данного объекта.
Вы можете использовать этот экземпляр для регистрации новых обработчиков или обратных вызовов событий объекта, или создать собственные события и вызывать их по желанию.
Возвращает
Cake\Event\EventManagerInterfacegetLayout() public
getLayout(): string
Получить имя файла макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в templates/layout/ без расширения .php.
Возвращает
stringgetLayoutPath() public
getLayoutPath(): string
Получить путь к файлам макета.
Возвращает
stringgetLayoutPaths() protected
getLayoutPaths(string|null $plugin): Generator
Получить итератор путей к файлам макета.
Параметры
-
string|null$plugin Плагин для получения путей.
Возвращает
GeneratorgetName() public
getName(): string
Возвращает имя контроллера представления.
Возвращает
stringgetPlugin() public
getPlugin(): string|null
Возвращает имя плагина.
Возвращает
string|nullgetRequest() public
getRequest(): Cake\Http\ServerRequest
Получает экземпляр запроса.
Возвращает
Cake\Http\ServerRequestgetResponse() public
getResponse(): Cake\Http\Response
Получает экземпляр ответа.
Возвращает
Cake\Http\ResponsegetSubDir() public
getSubDir(): string
Получить подкаталог для файлов шаблонов.
Возвращает
stringСм. также
getTemplate() public
getTemplate(): string
Получить имя файла шаблона для рендеринга. Указанное имя — это имя файла в templates/<SubFolder>/ без расширения .php.
Возвращает
stringgetTemplatePath() public
getTemplatePath(): string
Получить путь к файлам шаблонов.
Возвращает
stringgetTheme() public
getTheme(): string|null
Получить текущую тему представления.
Возвращает
string|nullgetVars() public
getVars(): array<string>
Возвращает список переменных, доступных в текущем контексте представления.
Возвращает
array<string>helpers() public
helpers(): Cake\View\HelperRegistry
Получить используемую регистровую книгу помощников этого класса представления.
Возвращает
Cake\View\HelperRegistryinitialize() public
initialize(): void
Метод инициализации.
Свойства, такие как $helpers и т. д., не могут быть статически инициализированы в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет изменять их по мере необходимости после создания экземпляра представления.
Возвращает
voidisAutoLayoutEnabled() public
isAutoLayoutEnabled(): bool
Возвращает, включен ли стандартный режим CakePHP по применению файлов макета. Отключение означает, что макеты не будут автоматически применяться к рендерящимся представлениям.
Возвращает
boolloadHelper() public
loadHelper(string $name, array<string, mixed> $config = []): Cake\View\Helper
Загружает помощника. Делегирует HelperRegistry::load() для загрузки помощника.
Параметры
-
string$name Имя помощника для загрузки.
-
array<string, mixed>$config необязательно Настройки помощника.
Возвращает
Cake\View\HelperСм. также
loadHelpers() public
loadHelpers(): $this
Взаимодействие с HelperRegistry для загрузки всех помощников.
Возвращает
$thislog() public
log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы обратитесь к Log::write().
Параметры
-
string$message Сообщение журнала.
-
string|int$level необязательно Уровень ошибки.
-
array|string$context необязательно Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
boolpluginSplit() public
pluginSplit(string $name, bool $fallback = true): array
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если $name не содержит точки, то индекс 0 будет равен null. Проверяет, загружен ли плагин, иначе имя файла останется без изменений для имён файлов, содержащих точку
Parameters
-
string$name Имя, которое нужно разделить на плагин.
-
bool$fallback optional Если true, использует плагин, установленный в текущем запросе, когда разобранный плагин не загружен
Returns
arrayprepend() public
prepend(string $name, mixed $value): $this
Добавляет в начало существующего или нового блока.
Добавление в начало нового блока создаст этот блок.
Parameters
-
string$name Имя блока
-
mixed$value Содержимое блока. Значение будет приведено к строковому типу.
Returns
$thisSee Also
render() public
render(string|null $template = null, string|false|null $layout = null): string
Рендерит представление для заданного файла шаблона и макета.
Render запускает обратные вызовы помощников, которые вызываются до и после рендеринга шаблона, а также до и после макета. Обратные вызовы помощников вызываются:
beforeRenderafterRenderbeforeLayoutafterLayout
Если View::$autoLayout установлено в false, шаблон будет возвращен без изменений.
Имена шаблона и макета могут указывать на шаблоны или макеты плагинов. Используя синтаксис Plugin.template, можно использовать шаблон/макет плагина вместо шаблонов приложения. Если выбранный плагин не найден, шаблон будет расположен вдоль обычного каскада путей представления.
Parameters
-
string|null$template optional Имя файла шаблона для использования
-
string|false|null$layout optional Макет для использования. False для отключения.
Returns
stringThrows
Cake\Core\Exception\CakeExceptionЕсли есть ошибка в представлении.
renderLayout() public
renderLayout(string $content, string|null $layout = null): string
Рендерит макет. Возвращает вывод из _render().
Создаётся несколько переменных для использования в макете.
Parameters
-
string$content Контент для рендеринга в шаблоне, заключённый в окружающий макет.
-
string|null$layout optional Имя макета
Returns
stringThrows
Cake\Core\Exception\CakeExceptionесли есть ошибка в представлении.
reset() public
reset(string $name): $this
Сбрасывает содержимое блока. Это перезапишет любое существующее содержимое.
Parameters
-
string$name Имя блока
Returns
$thisSee Also
set() public
set(array|string $name, mixed $value = null): $this
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Parameters
-
array|string$name Строка или массив данных.
-
mixed$value optional Значение, если $name является строкой (которая затем работает как ключ). Не используется, если $name является ассоциативным массивом, в противном случае служит значениями для ключей $name.
Returns
$thisThrows
RuntimeExceptionЕсли операция объединения массивов завершилась неудачей.
setConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Usage
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Parameters
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Следует ли рекурсивно объединять или перезаписывать существующую конфигурацию, по умолчанию true.
Returns
$thisThrows
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
setElementCache() public
setElementCache(string $elementCache): $this
Устанавливает конфигурацию кэша, которую View будет использовать для хранения кэшированных элементов
Parameters
-
string$elementCache Имя конфигурации кэша.
Returns
$thisSee Also
setEventManager() public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых прослушивателей или обратных вызовов к событиям объекта или создания собственных событий и их запуска по желанию.
Parameters
-
Cake\Event\EventManagerInterface$eventManager eventManager для установки
Returns
$thissetLayout() public
setLayout(string $name): $this
Устанавливает имя файла макета для рендеринга шаблона внутри него. Указанное имя - это имя файла макета в templates/layout/ без расширения .php.
Parameters
-
string$name Имя файла макета для установки.
Returns
$thissetLayoutPath() public
setLayoutPath(string $path): $this
Устанавливает путь для файлов макетов.
Parameters
-
string$path Путь для файлов макетов.
Returns
$thissetPlugin() public
setPlugin(string|null $name): $this
Устанавливает имя плагина.
Parameters
-
string|null$name Имя плагина.
Returns
$thissetRequest() public
setRequest(Cake\Http\ServerRequest $request): $this
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Устанавливаемые свойства:
- $this->request - в параметр $request
- $this->plugin - в значение, возвращаемое $request->getParam('plugin')
Parameters
-
Cake\Http\ServerRequest$request Экземпляр запроса.
Returns
$thissetResponse() public
setResponse(Cake\Http\Response $response): $this
Устанавливает экземпляр ответа.
Parameters
-
Cake\Http\Response$response Экземпляр ответа.
Returns
$thissetSubDir() public
setSubDir(string $subDir): $this
Устанавливает подкаталог для этих файлов шаблонов.
Parameters
-
string$subDir Имя подкаталога.
Returns
$thisSee Also
setTemplate() public
setTemplate(string $name): $this
Устанавливает имя файла шаблона для рендеринга. Указанное имя - это имя файла в templates/<SubFolder>/ без расширения .php.
Parameters
-
string$name Имя файла шаблона для установки.
Returns
$thissetTemplatePath() public
setTemplatePath(string $path): $this
Установить путь к файлам шаблонов.
Параметры
-
string$path Путь к файлам шаблонов.
Возвращаемое значение
$thissetTheme() public
setTheme(string|null $theme): $this
Установить тему представления.
Параметры
-
string|null$theme Имя темы.
Возвращаемое значение
$thisstart() public
start(string $name): $this
Начать захват вывода для блока.
Можно использовать start несколько раз для добавления или вставки содержимого в режиме захвата.
// Append content to an existing block.
$this->start('content');
echo $this->fetch('content');
echo 'Some new content';
$this->end();
// Prepend content to an existing block
$this->start('content');
echo 'Some new content';
echo $this->fetch('content');
$this->end(); Параметры
-
string$name Имя блока, для которого нужно захватить вывод.
Возвращаемое значение
$thisСм. также
Подробное описание свойств
$Blocks public @property
Тип
Cake\View\ViewBlock$Breadcrumbs public @property
Тип
Cake\View\Helper\BreadcrumbsHelper$Flash public @property
Тип
Cake\View\Helper\FlashHelper$Form public @property
Тип
Cake\View\Helper\FormHelper$Html public @property
Тип
Cake\View\Helper\HtmlHelper$Number public @property
Тип
Cake\View\Helper\NumberHelper$Paginator public @property
Тип
Cake\View\Helper\PaginatorHelper$Text public @property
Тип
Cake\View\Helper\TextHelper$Time public @property
Тип
Cake\View\Helper\TimeHelper$Url public @property
Тип
Cake\View\Helper\UrlHelper$_config protected
Конфигурация выполнения
Тип
array<string, mixed>$_configInitialized protected
Указывает, была ли свойство конфигурации уже настроена по умолчанию
Тип
bool$_current protected
Файл представления, который в данный момент отображается. Используется для разрешения родительских файлов.
Тип
string$_currentType protected
В данный момент отображается элемент. Используется для поиска родительских фрагментов для элементов.
Тип
string$_defaultConfig protected
Настройки конфигурации по умолчанию.
Тип
array<string, mixed>$_eventClass protected
Имя класса по умолчанию для новых объектов событий.
Тип
string$_eventManager protected
Экземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
Тип
Cake\Event\EventManagerInterface|null$_ext protected
Расширение файла. По умолчанию ".php".
Тип
string$_helpers protected
Коллекция помощников
Тип
Cake\View\HelperRegistry$_parents protected
Имена представлений и их родителей, используемых с View::extend();
Тип
array<string>$_passedVars protected
Список переменных для сбора из связанного контроллера.
Тип
array<string>$_paths protected
Содержит массив путей.
Тип
array<string>$_pathsForPlugin protected
Содержит массив путей плагинов.
Тип
array<string[]>$_stack protected
Стек содержимого, используется для вложенных шаблонов, которые все используют View::extend();
Тип
array<string>$_viewBlockClass protected
Класс ViewBlock.
Тип
string$autoLayout protected
Включает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отрисованным шаблонам.
Тип
bool$elementCache protected
Конфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этого параметра изменит конфигурацию по умолчанию, под которой хранятся элементы. Также можно выбрать конфигурацию кэша для каждого элемента.
Тип
string$helpers protected
Массив имен встроенных помощников для включения.
Тип
array$layout protected
Имя файла макета для отображения шаблона внутри. Указанное имя — это имя файла макета в templates/layout/ без расширения .php.
Тип
string$layoutPath protected
Имя подкаталога макетов, содержащего макеты для этого представления.
Тип
string$name protected
Имя контроллера, который создал представление, если таковой имеется.
Тип
string$plugin protected
Имя плагина.
Тип
string|null$request protected
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
Тип
Cake\Http\ServerRequest$response protected
Ссылка на объект Response
Тип
Cake\Http\Response$subDir protected
Подкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/
Тип
string$template protected
Имя файла шаблона для рендеринга. Указанное имя — это имя файла в templates/<SubFolder>/ без расширения .php.
Тип
string$templatePath protected
Имя подпапки, содержащей шаблоны для этого представления.
Тип
string$theme protected
Тема представления, которую нужно использовать.
Тип
string|null$viewVars protected
Массив переменных
Тип
array<string, mixed>
© 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.3/class-Cake.View.View.html