Spec-Zone.ru › CakePHP 4.4

Класс 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 или строку, чтобы указать имя пользовательского параметра строки запроса, который будет содержать имя функции обратного вызова.

Пространство имён: Cake\View

Константы

  • string
    NAME_TEMPLATE
    'templates'

    Константа для типа, используемого для App::path().

  • string
    PLUGIN_TEMPLATE_FOLDER
    'plugin'

    Константа для имени папки, содержащей файлы для переопределения шаблонов плагинов.

  • string
    TYPE_ELEMENT
    'element'

    Константа для типа файла представления 'element'.

  • string
    TYPE_LAYOUT
    'layout'

    Константа для типа файла представления 'layout'.

  • string
    TYPE_MATCH_ALL
    '_match_all_'

    Магический тип содержимого 'match-all', который представления могут использовать, чтобы вести себя как резервный вариант во время переговоров по типу содержимого.

  • string
    TYPE_TEMPLATE
    'template'

    Константа для типа файла представления 'template'.

END_OF_DOCUMENT_MARKER

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

  • $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
    string

    JSON макеты находятся в подкаталоге 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
    string

    JSON представления находятся в подкаталоге '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

string

Throws

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

string

append() public

append(string $name, mixed $value = null): $this

Добавить в существующий или новый блок.

Добавление в новый блок создаст этот блок.

Parameters

string $name

Имя блока

mixed $value optional

Содержимое блока. Значение будет приведено к строковому типу.

Returns

$this

See Also

\Cake\View\ViewBlock::concat()

assign() public

assign(string $name, mixed $value): $this

Установить содержимое блока. Это перезапишет любое существующее содержимое.

Parameters

string $name

Имя блока

mixed $value

Содержимое блока. Значение будет приведено к строковому типу.

Returns

$this

See Also

\Cake\View\ViewBlock::set()

blocks() public

blocks(): array<string>

Получить имена всех существующих блоков.

Returns

array<string>

See Also

\Cake\View\ViewBlock::keys()

cache() public

cache(callable $block, array<string, mixed> $options = []): string

Создать кэшированный блок логики представления.

Это позволяет кэшировать блок вывода представления в кэше, определенном в elementCache.

Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет запущен, а вывод сохранен.

Parameters

callable $block

Блок кода, вывод которого вы хотите кэшировать.

array<string, mixed> $options optional

Параметры, определяющие ключ кэша и т.д.

Returns

string

Throws

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\Cell

Throws

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

$this

contentType() public static

contentType(): string

Тип MIME, который этот класс представления отображает.

Returns

string

disableAutoLayout() public

disableAutoLayout(): $this

Отключает стандартный режим CakePHP применения файлов макетов. Макетов не будут автоматически применяться к рендеринг представлениям.

Returns

$this

dispatchEvent() 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\EventInterface

element() 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

string

Throws

Cake\View\Exception\MissingElementException
Когда элемента не существует, а `ignoreMissing` равен false.

elementExists() public

elementExists(string $name): bool

Проверяет, существует ли элемент

Parameters

string $name

Имя файла шаблона в папке templates/element/, или MyPlugin.template для проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнен обычный поиск по каскаду путей представлений.

Returns

bool

enableAutoLayout() public

enableAutoLayout(bool $enable = true): $this

Включает или выключает стандартный режим CakePHP применения файлов макетов. Включен по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеринг представлениям.

Parameters

bool $enable optional

Логическое значение для включения/выключения.

Returns

$this

end() public

end(): $this

Завершить блок захвата. Дополнение к View::start()

Returns

$this

See Also

\Cake\View\ViewBlock::end()

exists() public

exists(string $name): bool

Проверить, существует ли блок

Parameters

string $name

Имя блока

Returns

bool

extend() public

extend(string $name): $this

Обеспечивает расширение/наследование шаблона или элемента. Шаблоны могут расширять родительский шаблон и заполнять блоки в родительском шаблоне.

Parameters

string $name

Шаблон или элемент, с помощью которого необходимо «расширить» текущий.

Returns

$this

Throws

LogicException
при расширении шаблона самим собой или создании циклов extend.
LogicException
при расширении несуществующего элемента

fetch() public

fetch(string $name, string $default = ''): string

Получить содержимое блока. Если блок пуст или не определен, будет возвращено ''.

Parameters

string $name

Имя блока

string $default optional

Текст по умолчанию

Returns

string

See Also

\Cake\View\ViewBlock::get()

get() public

get(string $var, mixed $default = null): mixed

Возвращает содержимое заданной переменной представления.

Parameters

string $var

Переменная представления, содержимое которой требуется.

mixed $default optional

Содержимое $var по умолчанию/резервное.

Returns

mixed

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Получить значение конфигурации.

В настоящее время, если конфигурация не установлена, она возвращается к проверке соответствующей переменной представления с префиксом подчеркивания. Использование специальных переменных представления с префиксом подчеркивания устарело, и этот механизм возврата будет удален в CakePHP 4.1.0.

Parameters

string|null $key optional

Ключ для получения или null для всей конфигурации.

mixed $default optional

Возвращаемое значение, когда ключ не существует.

Returns

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для этого конкретного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Parameters

string $key

Ключ для получения.

Returns

mixed

Throws

InvalidArgumentException

getCurrentType() public

getCurrentType(): string

Получить текущий тип шаблона

Returns

string

getElementPaths() protected

getElementPaths(string|null $plugin): Generator

Получить итератор для путей к элементам.

Parameters

string|null $plugin

Плагин, для которого необходимо получить пути.

Returns

Generator

getEventManager() public

getEventManager(): Cake\Event\EventManagerInterface

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых прослушивателей или обратных вызовов для событий объекта или создания собственных событий и их запуска по желанию.

Returns

Cake\Event\EventManagerInterface

getLayout() public

getLayout(): string

Получить имя файла макета для отображения шаблона внутри него. Указанное имя - это имя файла макета в templates/layout/ без расширения .php.

Returns

string

getLayoutPath() public

getLayoutPath(): string

Получить путь к файлам макетов.

Returns

string

getLayoutPaths() protected

getLayoutPaths(string|null $plugin): Generator

Получить итератор для путей к макетам.

Parameters

string|null $plugin

Плагин, для которого необходимо получить пути.

Returns

Generator

getName() public

getName(): string

Возвращает имя контроллера представления.

Returns

string

getPlugin() public

getPlugin(): string|null

Возвращает имя плагина.

Returns

string|null

getRequest() public

getRequest(): Cake\Http\ServerRequest

Получает экземпляр запроса.

Returns

Cake\Http\ServerRequest

getResponse() public

getResponse(): Cake\Http\Response

Получает экземпляр ответа.

Returns

Cake\Http\Response

getSubDir() public

getSubDir(): string

Получить подкаталог для этих файлов шаблонов.

Returns

string

See Also

\Cake\View\View::$subDir

getTemplate() public

getTemplate(): string

Получить имя файла шаблона для отображения. Указанное имя - это имя файла в templates/<SubFolder>/ без расширения .php.

Returns

string

getTemplatePath() public

getTemplatePath(): string

Получить путь к файлам шаблонов.

Returns

string

getTheme() public

getTheme(): string|null

Получить текущую тему представления.

Returns

string|null

getVars() public

getVars(): array<string>

Возвращает список переменных, доступных в текущем контексте представления

Returns

array<string>

helpers() public

helpers(): Cake\View\HelperRegistry

Получить реестр вспомогательных элементов, используемый этим классом представления.

Returns

Cake\View\HelperRegistry

initialize() public

initialize(): void

Метод хука инициализации.

Свойства, такие как $helpers и т. д., не могут быть инициализированы статически в вашем пользовательском классе представления, поскольку они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет вам изменять их по мере необходимости после создания экземпляра представления.

Returns

void

isAutoLayoutEnabled() public

isAutoLayoutEnabled(): bool

Возвращает, включен ли обычный режим CakePHP применения файлов макетов. Отключено означает, что макеты не будут автоматически применяться к отображаемым представлениям.

Returns

bool

loadHelper() public

loadHelper(string $name, array<string, mixed> $config = []): Cake\View\Helper

Загружает хелпер. Делегирует загрузку хелпера объекту HelperRegistry::load()

Параметры

string $name

Имя хелпера для загрузки.

array<string, mixed> $config optional

Настройки хелпера

Возвращает

Cake\View\Helper

См. также

\Cake\View\HelperRegistry::load()

loadHelpers() public

loadHelpers(): $this

Загружает хелперы только если сериализация отключена.

Возвращает

$this

log() 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

Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

bool

pluginSplit() public

pluginSplit(string $name, bool $fallback = true): array

Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку

Параметры

string $name

Имя плагина, которое требуется разделить.

bool $fallback optional

Если true, использует плагин, заданный в текущем запросе, когда загруженный плагин не найден

Возвращает

array

prepend() public

prepend(string $name, mixed $value): $this

Добавляет в начало существующего или нового блока.

Добавление в начало нового блока создаст этот блок.

Параметры

string $name

Имя блока

mixed $value

Содержимое блока. Значение будет приведено к строковому типу.

Возвращает

$this

См. также

\Cake\View\ViewBlock::concat()

render() public

render(string|null $template = null, string|false|null $layout = null): string

Отображает представление JSON.

Отображение вызывает обратные вызовы хелперов, которые выполняются до и после рендеринга шаблона, а также до и после рендеринга макета. Обратные вызовы хелпера вызываются:

  • beforeRender
  • afterRender
  • beforeLayout
  • afterLayout

Если View::$autoLayout установлено в false, шаблон будет возвращён без макета.

Имена шаблона и макета могут указывать на шаблоны или макеты плагинов. Используя синтаксис Plugin.template, можно использовать шаблон/макет плагина вместо приложения. Если выбранный плагин не найден, шаблон будет расположен вдоль стандартной цепочки путей представления.

Параметры

string|null $template optional

Рендеринг шаблона.

string|false|null $layout optional

Рендеринг макета.

Возвращает

string

renderLayout() 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

См. также

\Cake\View\ViewBlock::set()

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() представления

Возвращает

void

setElementCache() public

setElementCache(string $elementCache): $this

Устанавливает конфигурацию кэша, которую представление будет использовать для хранения кэшированных элементов

Параметры

string $elementCache

Имя конфигурации кэша.

Возвращает

$this

См. также

\Cake\View\View::$elementCache

setEventManager() public

setEventManager(Cake\Event\EventManagerInterface $eventManager): $this

Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта или создания собственных событий и их вызова.

Параметры

Cake\Event\EventManagerInterface $eventManager

Устанавливаемый eventManager

Возвращает

$this

setLayout() public

setLayout(string $name): $this

Устанавливает имя файла макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в templates/layout/ без расширения .php.

Параметры

string $name

Имя файла макета для установки.

Возвращает

$this

setLayoutPath() public

setLayoutPath(string $path): $this

Устанавливает путь для файлов макета.

Параметры

string $path

Путь к файлам макета.

Возвращает

$this

setPlugin() public

setPlugin(string|null $name): $this

Устанавливает имя плагина.

Параметры

string|null $name

Имя плагина.

Возвращает

$this

setRequest() public

setRequest(Cake\Http\ServerRequest $request): $this

Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:

  • $this->request - в параметр $request
  • $this->plugin - в значение, возвращаемое $request->getParam('plugin')

Параметры

Cake\Http\ServerRequest $request

Экземпляр запроса.

Возвращает

$this

setResponse() public

setResponse(Cake\Http\Response $response): $this

Устанавливает экземпляр ответа.

Параметры

Cake\Http\Response $response

Экземпляр ответа.

Возвращает

$this

setSubDir() public

setSubDir(string $subDir): $this

Устанавливает поддиректорию для файлов шаблонов.

Параметры

string $subDir

Имя поддиректории.

Возвращает

$this

См. также

\Cake\View\View::$subDir

setTemplate() public

setTemplate(string $name): $this

Устанавливает имя файла шаблона для рендеринга. Указанное имя является именем файла в templates/<SubFolder>/ без расширения .php.

Параметры

string $name

Имя файла шаблона для установки.

Возвращает

$this

setTemplatePath() public

setTemplatePath(string $path): $this

Устанавливает путь к файлам шаблонов.

Параметры

string $path

Путь к файлам шаблонов.

Возвращает

$this

setTheme() public

setTheme(string|null $theme): $this

Устанавливает тему представления для использования.

Параметры

string|null $theme

Имя темы.

Возвращает

$this

start() 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

См. также

\Cake\View\ViewBlock::start()

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

$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

Spec-Zone.ru

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