Класс JsonView
Класс представления, используемый для JSON-ответов.
Он позволяет опустить шаблоны, если вам нужно только выводить строку JSON в качестве ответа.
В вашем контроллере вы можете сделать следующее:
$this->set(['posts' => $posts]);
$this->viewBuilder()->setOption('serialize', true); При отрисовке представления переменная представления $posts будет сериализована в JSON.
Вы также можете установить несколько переменных представления для сериализации. Это создаст объект верхнего уровня, содержащий все именованные переменные представления:
$this->set(compact('posts', 'users', 'stuff'));
$this->viewBuilder()->setOption('serialize', true); Это сгенерирует JSON-объект, который выглядит следующим образом:
{"posts": [...], "users": [...]}
Вы также можете установить 'serialize' на строку или массив, чтобы сериализовать только указанные переменные представления.
Если вы не установите опцию serialize, вам потребуется шаблон представления. Вы можете использовать расширенные представления для предоставления функциональности, подобной макетам.
Вы также можете включить поддержку JSONP, установив опцию jsonp в значение true или строку, чтобы указать имя пользовательского параметра строки запроса, который будет содержать имя функции обратного вызова.
Константы
-
stringNAME_TEMPLATE'templates'
Константа для типа, используемого для App::path().
-
stringPLUGIN_TEMPLATE_FOLDER'plugin'
Константа для имени папки, содержащей файлы для переопределения шаблонов плагинов.
-
stringTYPE_ELEMENT'element'
Константа для типа файла представления 'element'.
-
stringTYPE_LAYOUT'layout'
Константа для типа файла представления 'layout'.
-
stringTYPE_MATCH_ALL'_match_all_'
Магический тип содержимого 'match-all', который представления могут использовать, чтобы вести себя как резервный вариант во время переговоров по типу содержимого.
-
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[]>Содержит массив путей плагинов.
- $_responseType protected deprecated
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
stringJSON макеты находятся в подкаталоге JSON каталога
Layouts/ - $name protected
stringИмя контроллера, который создал представление, если таковой есть.
- $plugin protected
string|nullИмя плагина.
- $request protected
Cake\Http\ServerRequestЭкземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- $response protected
Cake\Http\ResponseСсылка на объект Response
- $subDir protected
stringJSON представления находятся в подкаталоге 'json' представлений контроллеров.
- $template protected
stringИмя файла шаблона для отображения. Указанное имя — имя файла в
templates/<SubFolder>/без расширения .php.
- $templatePath protected
stringИмя подпапки, содержащей шаблоны для этого представления.
- $theme protected
string|nullТема представления, которая должна быть использована.
- $viewVars protected
array<string, mixed>Массив переменных
Краткое описание методов
-
__construct() public
Конструктор
-
__get() public
Магический аксессор для помощников.
-
_checkFilePath() protected
Проверка, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_createCell() protected
Создаёт и настраивает экземпляр ячейки.
-
_dataToSerialize() 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
Отображает элемент и вызывает обратные вызовы beforeRender и afterRender для него, а также записывает в кеш, если используется кеш.
-
_serialize() protected
Сериализация переменных представления.
-
append() public
Добавить в существующий или новый блок.
-
assign() public
Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.
-
blocks() public
Получить имена всех существующих блоков.
-
cache() public
Создать кэшированный блок логики представления.
-
cell() protected
Отображает указанную ячейку.
-
configShallow() public
Объединить предоставленную конфигурацию с существующей. В отличие от
config(), которое выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
contentType() public static
Тип MIME, который отображает этот класс представления.
-
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
Загрузить помощников только в случае, если сериализация отключена.
-
log() public
Удобный метод для записи сообщения в журнал. Дополнительная информация о записи в журналы доступна в Log::write().
-
pluginSplit() public
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку.
-
prepend() public
Добавить в начало существующего или нового блока.
-
render() public
Рендерить представление JSON.
-
renderLayout() public
Рендерить макет. Возвращает вывод из _render().
-
reset() public
Сбросить содержимое блока. Это перепишет любое существующее содержимое.
-
set() public
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
-
setConfig() public
Устанавливает конфигурацию.
-
setContentType() protected
Установить тип контента ответа на основе contentType() представления.
-
setElementCache() public
Установить конфигурацию кэша, которую представление будет использовать для хранения кэшированных элементов.
-
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_dataToSerialize() protected
_dataToSerialize(array|string $serialize): mixed
Возвращает данные для сериализации.
Параметры
-
array|string$serialize Имя (имена) переменной (переменных) представления, которые необходимо сериализовать.
Возвращает
mixed_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
Рендерит и возвращает вывод для заданного имени файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
Parameters
-
string$templateFile Имя файла шаблона
-
array$data optional Данные для включения в рендеринг представления. Если пусто, будут использоваться текущие View::$viewVars.
Returns
stringThrows
LogicExceptionКогда блок остается открытым.
_renderElement() protected
_renderElement(string $file, array $data, array<string, mixed> $options): string
Рендерит элемент и запускает обратные вызовы before и afterRender для него, а также записывает в кэш, если используется кэш
Parameters
-
string$file Путь к файлу элемента
-
array$data Данные для рендеринга
-
array<string, mixed>$options Параметры элемента
Returns
string_serialize() protected
_serialize(array|string $serialize): string
Сериализовать переменные представления.
Parameters
-
array|string$serialize
Returns
stringappend() public
append(string $name, mixed $value = null): $this
Добавить в существующий или новый блок.
Добавление в новый блок создаст этот блок.
Parameters
-
string$name Имя блока
-
mixed$value optional Содержимое блока. Значение будет приведено к строковому типу.
Returns
$thisSee Also
assign() public
assign(string $name, mixed $value): $this
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Parameters
-
string$name Имя блока
-
mixed$value Содержимое блока. Значение будет приведено к строковому типу.
Returns
$thisSee Also
blocks() public
blocks(): array<string>
Получить имена всех существующих блоков.
Returns
array<string>See Also
cache() public
cache(callable $block, array<string, mixed> $options = []): string
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэше, определенном в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет запущен, а вывод сохранен.
Parameters
-
callable$block Блок кода, вывод которого вы хотите кэшировать.
-
array<string, mixed>$options optional Параметры, определяющие ключ кэша и т.д.
Returns
stringThrows
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'); Ячейки не рендерятся, пока не будут выведены.
Parameters
-
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 Параметры для конструктора Cell
Returns
Cake\View\CellThrows
Cake\View\Exception\MissingCellExceptionЕсли класс Cell не найден.
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']);
Parameters
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
Returns
$thiscontentType() public static
contentType(): string
Тип MIME, который этот класс представления отображает.
Returns
stringdisableAutoLayout() public
disableAutoLayout(): $this
Отключает стандартный режим CakePHP применения файлов макетов. Макетов не будут автоматически применяться к рендеринг представлениям.
Returns
$thisdispatchEvent() public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Parameters
-
string$name Имя события.
-
array|null$data optional Любое значение, которое вы хотите передать с этим событием, чтобы оно могло быть прочитано слушателями.
-
object|null$subject optional Объект, к которому относится это событие ($this по умолчанию).
Returns
Cake\Event\EventInterfaceelement() public
element(string $name, array $data = [], array<string, mixed> $options = []): string
Рендерит часть PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Это реализует концепцию элементов (или "частичных макетов"), и массив $params используется для отправки данных, которые будут использоваться в элементе. Элементы могут быть кэшированы, что улучшает производительность с помощью параметра cache.
Parameters
-
string$name Имя файла шаблона в папке
templates/element/, илиMyPlugin.templateдля использования элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнен обычный поиск по каскаду путей представлений.-
array$data optional Массив данных, которые будут доступны для рендеринга представления (т. е. элемента)
-
array<string, mixed>$options optional Массив параметров. Возможные ключи:
Returns
stringThrows
Cake\View\Exception\MissingElementExceptionКогда элемента не существует, а `ignoreMissing` равен false.
elementExists() public
elementExists(string $name): bool
Проверяет, существует ли элемент
Parameters
-
string$name Имя файла шаблона в папке
templates/element/, илиMyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнен обычный поиск по каскаду путей представлений.
Returns
boolenableAutoLayout() public
enableAutoLayout(bool $enable = true): $this
Включает или выключает стандартный режим CakePHP применения файлов макетов. Включен по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеринг представлениям.
Parameters
-
bool$enable optional Логическое значение для включения/выключения.
Returns
$thisend() public
end(): $this
Завершить блок захвата. Дополнение к View::start()
Returns
$thisSee Also
exists() public
exists(string $name): bool
Проверить, существует ли блок
Parameters
-
string$name Имя блока
Returns
boolextend() public
extend(string $name): $this
Обеспечивает расширение/наследование шаблона или элемента. Шаблоны могут расширять родительский шаблон и заполнять блоки в родительском шаблоне.
Parameters
-
string$name Шаблон или элемент, с помощью которого необходимо «расширить» текущий.
Returns
$thisThrows
LogicExceptionпри расширении шаблона самим собой или создании циклов extend.
LogicExceptionпри расширении несуществующего элемента
fetch() public
fetch(string $name, string $default = ''): string
Получить содержимое блока. Если блок пуст или не определен, будет возвращено ''.
Parameters
-
string$name Имя блока
-
string$default optional Текст по умолчанию
Returns
stringSee Also
get() public
get(string $var, mixed $default = null): mixed
Возвращает содержимое заданной переменной представления.
Parameters
-
string$var Переменная представления, содержимое которой требуется.
-
mixed$default optional Содержимое $var по умолчанию/резервное.
Returns
mixedgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Получить значение конфигурации.
В настоящее время, если конфигурация не установлена, она возвращается к проверке соответствующей переменной представления с префиксом подчеркивания. Использование специальных переменных представления с префиксом подчеркивания устарело, и этот механизм возврата будет удален в CakePHP 4.1.0.
Parameters
-
string|null$key optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Возвращаемое значение, когда ключ не существует.
Returns
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для этого конкретного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Parameters
-
string$key Ключ для получения.
Returns
mixedThrows
InvalidArgumentExceptiongetCurrentType() public
getCurrentType(): string
Получить текущий тип шаблона
Returns
stringgetElementPaths() protected
getElementPaths(string|null $plugin): Generator
Получить итератор для путей к элементам.
Parameters
-
string|null$plugin Плагин, для которого необходимо получить пути.
Returns
GeneratorgetEventManager() public
getEventManager(): Cake\Event\EventManagerInterface
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых прослушивателей или обратных вызовов для событий объекта или создания собственных событий и их запуска по желанию.
Returns
Cake\Event\EventManagerInterfacegetLayout() public
getLayout(): string
Получить имя файла макета для отображения шаблона внутри него. Указанное имя - это имя файла макета в templates/layout/ без расширения .php.
Returns
stringgetLayoutPath() public
getLayoutPath(): string
Получить путь к файлам макетов.
Returns
stringgetLayoutPaths() protected
getLayoutPaths(string|null $plugin): Generator
Получить итератор для путей к макетам.
Parameters
-
string|null$plugin Плагин, для которого необходимо получить пути.
Returns
GeneratorgetName() public
getName(): string
Возвращает имя контроллера представления.
Returns
stringgetPlugin() public
getPlugin(): string|null
Возвращает имя плагина.
Returns
string|nullgetRequest() public
getRequest(): Cake\Http\ServerRequest
Получает экземпляр запроса.
Returns
Cake\Http\ServerRequestgetResponse() public
getResponse(): Cake\Http\Response
Получает экземпляр ответа.
Returns
Cake\Http\ResponsegetSubDir() public
getSubDir(): string
Получить подкаталог для этих файлов шаблонов.
Returns
stringSee Also
getTemplate() public
getTemplate(): string
Получить имя файла шаблона для отображения. Указанное имя - это имя файла в templates/<SubFolder>/ без расширения .php.
Returns
stringgetTemplatePath() public
getTemplatePath(): string
Получить путь к файлам шаблонов.
Returns
stringgetTheme() public
getTheme(): string|null
Получить текущую тему представления.
Returns
string|nullgetVars() public
getVars(): array<string>
Возвращает список переменных, доступных в текущем контексте представления
Returns
array<string>helpers() public
helpers(): Cake\View\HelperRegistry
Получить реестр вспомогательных элементов, используемый этим классом представления.
Returns
Cake\View\HelperRegistryinitialize() public
initialize(): void
Метод хука инициализации.
Свойства, такие как $helpers и т. д., не могут быть инициализированы статически в вашем пользовательском классе представления, поскольку они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет вам изменять их по мере необходимости после создания экземпляра представления.
Returns
voidisAutoLayoutEnabled() public
isAutoLayoutEnabled(): bool
Возвращает, включен ли обычный режим CakePHP применения файлов макетов. Отключено означает, что макеты не будут автоматически применяться к отображаемым представлениям.
Returns
boolloadHelper() public
loadHelper(string $name, array<string, mixed> $config = []): Cake\View\Helper
Загружает хелпер. Делегирует загрузку хелпера объекту HelperRegistry::load()
Параметры
-
string$name Имя хелпера для загрузки.
-
array<string, mixed>$config optional Настройки хелпера
Возвращает
Cake\View\HelperСм. также
loadHelpers() public
loadHelpers(): $this
Загружает хелперы только если сериализация отключена.
Возвращает
$thislog() public
log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы, обратитесь к Log::write().
Параметры
-
string$message Сообщение журнала.
-
string|int$level optional Уровень ошибки.
-
array|string$context optional Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
boolpluginSplit() public
pluginSplit(string $name, bool $fallback = true): array
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку
Параметры
-
string$name Имя плагина, которое требуется разделить.
-
bool$fallback optional Если true, использует плагин, заданный в текущем запросе, когда загруженный плагин не найден
Возвращает
arrayprepend() public
prepend(string $name, mixed $value): $this
Добавляет в начало существующего или нового блока.
Добавление в начало нового блока создаст этот блок.
Параметры
-
string$name Имя блока
-
mixed$value Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$thisСм. также
render() public
render(string|null $template = null, string|false|null $layout = null): string
Отображает представление JSON.
Отображение вызывает обратные вызовы хелперов, которые выполняются до и после рендеринга шаблона, а также до и после рендеринга макета. Обратные вызовы хелпера вызываются:
beforeRenderafterRenderbeforeLayoutafterLayout
Если View::$autoLayout установлено в false, шаблон будет возвращён без макета.
Имена шаблона и макета могут указывать на шаблоны или макеты плагинов. Используя синтаксис Plugin.template, можно использовать шаблон/макет плагина вместо приложения. Если выбранный плагин не найден, шаблон будет расположен вдоль стандартной цепочки путей представления.
Параметры
-
string|null$template optional Рендеринг шаблона.
-
string|false|null$layout optional Рендеринг макета.
Возвращает
stringrenderLayout() public
renderLayout(string $content, string|null $layout = null): string
Рендерит макет. Возвращает выходные данные от _render().
Несколько переменных создаются для использования в макете.
Параметры
-
string$content Содержимое для рендеринга в шаблоне, заключённое в окружающий макет.
-
string|null$layout optional Имя макета
Возвращает
stringВыбрасывает
Cake\Core\Exception\CakeExceptionесли произошла ошибка в представлении.
reset() public
reset(string $name): $this
Сброс содержимого блока. Это перепишет любое существующее содержимое.
Параметры
-
string$name Имя блока
Возвращает
$thisСм. также
set() public
set(array|string $name, mixed $value = null): $this
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
-
array|string$name Строка или массив данных.
-
mixed$value optional Значение в случае, если $name является строкой (которая затем служит ключом). Не используется, если $name является ассоциативным массивом, в противном случае служит значениями для ключей $name.
Возвращает
$thisВыбрасывает
RuntimeExceptionЕсли операция объединения массива не удалась.
setConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$thisВыбрасывает
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
setContentType() protected
setContentType(): void
Устанавливает тип содержимого ответа на основе contentType() представления
Возвращает
voidsetElementCache() public
setElementCache(string $elementCache): $this
Устанавливает конфигурацию кэша, которую представление будет использовать для хранения кэшированных элементов
Параметры
-
string$elementCache Имя конфигурации кэша.
Возвращает
$thisСм. также
setEventManager() public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта или создания собственных событий и их вызова.
Параметры
-
Cake\Event\EventManagerInterface$eventManager Устанавливаемый eventManager
Возвращает
$thissetLayout() public
setLayout(string $name): $this
Устанавливает имя файла макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в templates/layout/ без расширения .php.
Параметры
-
string$name Имя файла макета для установки.
Возвращает
$thissetLayoutPath() public
setLayoutPath(string $path): $this
Устанавливает путь для файлов макета.
Параметры
-
string$path Путь к файлам макета.
Возвращает
$thissetPlugin() public
setPlugin(string|null $name): $this
Устанавливает имя плагина.
Параметры
-
string|null$name Имя плагина.
Возвращает
$thissetRequest() public
setRequest(Cake\Http\ServerRequest $request): $this
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:
- $this->request - в параметр $request
- $this->plugin - в значение, возвращаемое $request->getParam('plugin')
Параметры
-
Cake\Http\ServerRequest$request Экземпляр запроса.
Возвращает
$thissetResponse() public
setResponse(Cake\Http\Response $response): $this
Устанавливает экземпляр ответа.
Параметры
-
Cake\Http\Response$response Экземпляр ответа.
Возвращает
$thissetSubDir() public
setSubDir(string $subDir): $this
Устанавливает поддиректорию для файлов шаблонов.
Параметры
-
string$subDir Имя поддиректории.
Возвращает
$thisСм. также
setTemplate() public
setTemplate(string $name): $this
Устанавливает имя файла шаблона для рендеринга. Указанное имя является именем файла в templates/<SubFolder>/ без расширения .php.
Параметры
-
string$name Имя файла шаблона для установки.
Возвращает
$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
Параметры конфигурации по умолчанию.
Используйте ViewBuilder::setOption()/setOptions() в вашем контроллере, чтобы установить эти параметры.
-
serialize: Параметр для преобразования набора переменных представления в сериализованный ответ. Его значение может быть строкой для имени одной переменной или массивом для нескольких имен. Если истинно, все переменные представления будут сериализованы. Если null или false, будет отображена обычная шаблон представления. -
jsonOptions: Параметры для json_encode(). Например:JSON_HEX_TAG | JSON_HEX_APOS. -
jsonp: Включает поддержку JSONP и оборачивает ответ в функцию обратного вызова, предоставленную в строке запроса.- Установка в true включает параметр строки запроса "callback" по умолчанию.
- Установка в строковое значение использует предоставленный параметр строки запроса для поиска имени обратного вызова JSONP.
Тип
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[]>$_responseType protected deprecated
Тип ответа.
Тип
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
JSON макеты находятся в подкаталоге JSON в Layouts/
Тип
string$name protected
Имя контроллера, который создал представление, если таковой имеется.
Тип
string$plugin protected
Имя плагина.
Тип
string|null$request protected
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
Тип
Cake\Http\ServerRequest$response protected
Ссылка на объект Response
Тип
Cake\Http\Response$subDir protected
JSON-представления расположены в подкаталоге 'json' для представлений контроллеров.
Тип
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.4/class-Cake.View.JsonView.html