Класс JsonView
Класс представления, используемый для ответов в формате JSON.
Позволяет пропускать шаблоны, если необходимо выводить строку JSON в качестве ответа.
В контроллере можно сделать следующее:
$this->set(['posts' => $posts]);
$this->set('_serialize', true); При рендеринге представления переменная $posts будет сериализована в JSON.
Можно также задать несколько переменных представления для сериализации. Это создаст объект верхнего уровня, содержащий все именованные переменные представления:
$this->set(compact('posts', 'users', 'stuff'));
$this->set('_serialize', true); Это сгенерирует объект JSON, который будет выглядеть следующим образом:
{"posts": [...], "users": [...]}
Также можно установить '_serialize' в строку или массив, чтобы сериализовать только указанные переменные представления.
Если не использовать _serialize, вам понадобится шаблон представления. Можно использовать расширенные представления для предоставления функциональности, подобной макету.
Также можно включить поддержку JSONP, установив параметр _jsonp в true или строку, чтобы указать имя пользовательского параметра строки запроса, который будет содержать имя функции обратного вызова.
- Cake\View\View implements Cake\Event\EventDispatcherInterface uses Cake\View\CellTrait , Cake\Event\EventDispatcherTrait , Cake\Log\LogTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait
-
Cake\View\SerializedView -
Cake\View\JsonView
Унаследованные константы
Резюме свойств
-
$_responseTypeprotectedТип ответа.string -
$_specialVarsprotectedСписок специальных переменных представления.array -
$layoutPathpublicJSON-макеты расположены в подкаталоге json каталогаstringLayouts/ -
$subDirpublicJSON-представления расположены в подкаталоге 'json' для представлений контроллеров.string
Унаследованные магические свойства
Унаследованные свойства
-
Blocks,_current,_currentType,_ext,_helpers,_parents,_passedVars,_paths,_pathsForPlugin,_stack,autoLayout,elementCache,hasRendered,helpers,layout,name,passedArgs,plugin,request,response,template,templatePath,theme,uuids_eventClass,_eventManager_viewBuilder,viewClass,viewVars
Резюме методов
- _dataToSerialize() protectedВозвращает данные для сериализации.
- _serialize() protectedСериализация переменных представления
- render() publicРендеринг JSON-представления.
Подробное описание методов
_dataToSerialize()source protected
_dataToSerialize( array|string|boolean $serialize true )
Возвращает данные для сериализации.
Параметры
- массив|строка|логическое значение
$serializeнеобязательно true Имя(а) переменной(ых) представления, которые необходимо сериализовать. Если true, будут использованы все доступные переменные представления.
Возвращает
смешанный типДанные для сериализации.
_serialize()source protected
_serialize( array|string|boolean $serialize )
Сериализовать переменные представления
Специальные параметры
_jsonOptions Вы можете установить пользовательские параметры для json_encode() таким образом, например, JSON_HEX_TAG | JSON_HEX_APOS.
Параметры
- массив|строка|логическое значение
$serialize Имя(а) переменной(ых) представления, которые необходимо сериализовать. Если true, будут использованы все доступные переменные представления.
Возвращает
строка|ложьСериализованные данные или логическое значение false, если сериализация невозможна.
render()source public
render( string|null $view null , string|null $layout null )
Отобразить представление JSON.
Специальные параметры
_serialize Для преобразования набора переменных представления в ответ JSON. Его значение может быть строкой для имени одной переменной или массивом для нескольких имён. Если значение true, все переменные представления будут сериализованы. При этом обычный шаблон представления не будет отображаться. _jsonp Включает поддержку JSONP и оборачивает ответ в функцию обратного вызова, заданную в строке запроса. - Установка в true включает параметр строки запроса по умолчанию "callback". - Установка в строковое значение использует предоставленный параметр строки запроса для поиска имени обратного вызова JSONP.
Параметры
- строка|null
$viewнеобязательно null - Отображаемое представление.
- строка|null
$layoutнеобязательно null - Отображаемый макет.
Возвращает
строка|nullОтображенное представление.
Исключения
Cake\Core\Exception\ExceptionВ случае ошибки в представлении.
Переопределяет
Cake\View\SerializedView::render() Наследуемые методы от Cake\View\SerializedView
__construct()source public
__construct( Cake\Network\Request $request null , Cake\Network\Response $response null , Cake\Event\EventManager $eventManager null , array $viewOptions [] )
Конструктор
Параметры
-
Cake\Network\Request$requestнеобязательно null - Экземпляр запроса.
-
Cake\Network\Response$responseнеобязательно null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManagerнеобязательно null - Экземпляр EventManager.
- массив
$viewOptionsнеобязательно [] - Массив параметров представления
Переопределяет
Cake\View\View::__construct() loadHelpers()source public
loadHelpers( )
Загрузить помощники только если сериализация отключена.
Переопределяет
Cake\View\View::loadHelpers() Наследуемые методы от Cake\View\View
__get()source public
__get( string $name )
Магический доступ к помощникам.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
смешанный тип__set()source public
__set( string $name , mixed $value )
Магический установщик для устаревших свойств.
Параметры
- строка
$name - Имя свойства.
- смешанный тип
$value - Значение свойства.
_checkFilePath()source protected
_checkFilePath( string $file , string $path )
Проверьте, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
Будут проверены только пути, содержащие .., так как они чаще всего могут указывать на файлы, находящиеся вне путей шаблонов.
Параметры
- строка
$file - Путь к файлу шаблона.
- строка
$path - Базовый путь, внутри которого должен находиться $file.
Возвращает
строкаПуть к файлу
Выбрасывает
InvalidArgumentException_elementCache()source protected
_elementCache( string $name , array $data , array $options )
Генерирует конфигурацию кэша для элемента.
Параметры
- строка
$name - Имя элемента
- массив
$data - Данные
- массив
$options - Опции элемента
Возвращает
массивКонфигурация кэша элемента.
_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод-песочница для оценки шаблона/скрипта представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView Данные для включения в рендер. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
строкаРезультат рендера
_getElementFileName()source protected
_getElementFileName( string $name , boolean $pluginCheck true )
Находит имя файла элемента, возвращает false при неудаче.
Параметры
- строка
$name - Имя элемента для поиска.
- логическое значение
$pluginCheckнеобязательно true - если false, плагин из запроса игнорируется, если плагин не загружен
Возвращает
строка|falseСтрока имени файла элемента или false, если не найдено.
_getLayoutFileName()source protected
_getLayoutFileName( string|null $name null )
Возвращает имя файла макета для этого шаблона в виде строки.
Параметры
- строка|null
$nameнеобязательно null - Имя макета для поиска.
Возвращает
строкаИмя файла макета (.ctp).
Выбрасывает
Cake\View\Exception\MissingLayoutExceptionпри невозможности найти макет
_getSubPaths()source protected
_getSubPaths( string $basePath )
Находит все пути к дочерним шаблонам, основываясь на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь к шаблону в $basePath, переходя наверх по иерархии в случае вложенного префикса. Это по сути используется для поиска префиксных путей шаблонов для элементов и макетов.
Параметры
- строка
$basePath - Базовый путь, для которого получить префиксный.
Возвращает
массивМассив со всеми путями шаблонов.
_getViewFileName()source protected
_getViewFileName( string|null $name null )
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с CamelCase по умолчанию преобразуются в нижний регистр с разделителями подчёркивания. Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило инфлексии, переопределив _inflectViewFileName.
Параметры
- строка|null
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
строкаИмя файла шаблона
Выбрасывает
Cake\View\Exception\MissingTemplateExceptionпри невозможности найти файл представления.
_inflectViewFileName()source protected
_inflectViewFileName( string $name )
Изменить имя файла шаблона представления в формате с нижним подчеркиванием.
Параметры
- строка
$name - Имя файла, который должен быть склонен.
Возвращает
строкаИмя файла после преобразования
_paths()source protected
_paths( string|null $plugin null , boolean $cached true )
Возвращает все возможные пути для поиска файлов представления в нужном порядке
Параметры
- строка|null
$pluginнеобязательный null - Необязательное имя плагина для поиска файлов представления.
- логическое значение
$cachedнеобязательный true - Установить в значение false, чтобы принудительно обновить пути к представлениям. По умолчанию значение true.
Возвращает
массивпути
_render()source protected
_render( string $viewFile , array $data [] )
Отображает и возвращает вывод для заданного имени файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataнеобязательный [] Данные для включения в отображаемое представление. Если пусто, будут использованы текущие View::$viewVars.
Возвращает
строкаОтрендеренный вывод
Исключения
LogicExceptionКогда блок оставлен открытым.
Вызывает
View.beforeRenderFile $this, [$viewFile]View.afterRenderFile $this, [$viewFile, $content]
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и вызывает обратные вызовы before и afterRender для него и записывает в кэш, если используется кэширование
Параметры
- строка
$file - Путь к файлу элемента
- массив
$data - Данные для отображения
- массив
$options - Опции элемента
Возвращает
строкаВызывает
View.beforeRender $this, [$file]View.afterRender $this, [$file, $element]
append()source public
append( string $name , mixed $value null )
Добавить в существующий или новый блок.
Добавление в новый блок создаст блок.
Параметры
- строка
$name - Имя блока
- смешанный
$valueнеобязательный null Содержимое блока. Значение будет преобразовано в строку.
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value Содержимое блока. Значение будет преобразовано в строку.
См. также
\Cake\View\ViewBlock::set()autoLayout()source public
autoLayout( boolean|null $autoLayout null )
Включает или отключает стандартный режим CakePHP применения файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
Параметры
- логическое значение|null
$autoLayoutнеобязательный null - Логическое значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
логическое значение|nullblocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэш, определённый в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пустой, $block будет выполнен, и результат будет сохранён.
Параметры
- callable
$block - Блок кода, вывод которого нужно кэшировать.
- array
$optionsoptional [] - Опции, определяющие ключ кэша и т. д.
Возвращает
stringРендерный контент.
Выбрасывает
RuntimeExceptionЕсли в $options отсутствует опция 'key'.
element()source public
element( string $name , array $data [] , array $options [] )
Рендерит фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Этот метод реализует концепцию элементов (или «частичных макетов»), и массив $params используется для отправки данных, которые будут использованы в элементе. Элементы можно кэшировать, улучшая производительность, используя опцию cache.
Параметры
- string
$name Имя файла шаблона в папке /src/Template/Element/ или
MyPlugin.templateдля использования элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.- array
$dataoptional [] - Массив данных, которые должны быть доступны для рендерного представления (т.е. элемента).
- array
$optionsoptional [] Массив опций. Возможные ключи: -
cache- Может бытьtrue, для включения кэширования с использованием конфигурации в View::$elementCache. Или массив. Если массив, могут использоваться следующие ключи: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксрованelement_-callbacks- Установите в значение true, чтобы вызвать обратные вызовы помощников beforeRender и afterRender для этого элемента. По умолчанию значение false. -ignoreMissing- Используется для разрешения отсутствующих элементов. Установите в значение true, чтобы не генерировать исключения. -plugin- Установка в false заставит использовать элемент приложения из шаблонов плагина, когда плагин имеет элемент с таким же именем. По умолчанию значение true
Возвращает
stringРендеренный элемент
Выбрасывает
Cake\View\Exception\MissingElementExceptionКогда элемент отсутствует, и ignoreMissing имеет значение false.
elementExists()source public
elementExists( string $name )
Проверяет существование элемента.
Параметры
- string
$name Имя файла шаблона в папке /src/Template/Element/ или
MyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.
Возвращает
booleanУспех
end()source public
end( )
Завершить блок захвата. Комплементарная функция View::start()
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверить существование блока.
Параметры
- string
$name - Имя блока
Возвращает
booleanextend()source public
extend( string $name )
Обеспечивает расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- string
$name - Шаблон или элемент, которым нужно «расширить» текущий.
Выбрасывает
LogicExceptionесли вы расширяете шаблон, который является самим собой, или создаете циклы расширения.
LogicException
если вы расширяете элемент, которого не существует
fetch()source public
fetch( string $name , string $default '' )
Получить содержимое блока. Если блок пустой или неопределён, возвращается ''.
Параметры
- строка
$name - Имя блока
- строка
$defaultнеобязательно '' - Текстовое значение по умолчанию
Возвращает
строкаСодержимое блока или значение $default, если блок не существует.
См. также
\Cake\View\ViewBlock::get()get()source public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Имя переменной представления, содержимое которой нужно получить.
- смешанный
$defaultнеобязательно null - Значение по умолчанию/значение по умолчанию при отсутствии $var.
Возвращает
смешанныйСодержимое указанной переменной, если она задана, иначе $default.
getCurrentType()source public
getCurrentType( )
Получить текущий тип представления.
Возвращает
строкаgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления.
Возвращает
массивМассив имён установленных переменных представления.
helpers()source public
helpers( )
Получить реестр помощников, используемый этим классом представления.
Возвращает
Cake\View\HelperRegistryinitialize()source public
initialize( )
Метод инициализации.
Свойства, такие как $helpers и т. д., не могут быть статически инициализированы в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет изменять их по мере необходимости после создания экземпляра представления.
layout()source public
layout( string|null $name null )
Получить/установить имя файла шаблона макета, внутри которого будет отображаться шаблон. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- строка|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращается текущее имя.
Возвращает
строка|nulllayoutPath()source public
layoutPath( string|null $path null )
Получить/установить путь к файлам макета.
Параметры
- строка|null
$pathнеобязательно null - Путь к файлам макета. Если null, возвращается текущий путь.
Возвращает
строка|nullloadHelper()source public
loadHelper( string $name , array $config [] )
Загружает помощник. Перенаправляет запрос к HelperRegistry::load() для загрузки помощника.
Параметры
- строка
$name - Имя помощника для загрузки.
- массив
$configнеобязательно [] - Настройки помощника.
Возвращает
Cake\View\Helperсозданный объект помощника.
См. также
\Cake\View\HelperRegistry::load()pluginSplit()source public
pluginSplit( string $name , boolean $fallback true )
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку.
Параметры
- строка
$name - Имя плагина, которое нужно разделить.
- логическое значение
$fallbackнеобязательно true - Если true, использует плагин, установленный в текущем запросе, когда загруженный плагин не найден.
Возвращает
массивМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавляет в начало существующего или нового блока.
Добавление в новый блок создаст этот блок.
Параметры
- строка
$name - Имя блока
- смешанное значение
$value Содержание блока. Значение будет приведено к строковому типу.
См. также
\Cake\View\ViewBlock::concat()renderLayout()source public
renderLayout( string $content , string|null $layout null )
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Для использования в макете создаются несколько переменных.
Параметры
- строка
$content - Содержание для отображения в шаблоне, обернутое окружающим макетом.
- строка|null
$layoutнеобязательно null - Имя макета
Возвращает
смешанное значениеОтформатированный вывод или false при ошибке
Исключение
Cake\Core\Exception\Exceptionесли в представлении есть ошибка.
Триггеры
View.beforeLayout $this, [$layoutFileName]View.afterLayout $this, [$layoutFileName]
reset()source public
reset( string $name )
Сбросить содержимое блока. Это перепишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
См. также
\Cake\View\ViewBlock::set()start()source public
start( string $name )
Начать захват вывода для 'блока'
Можно использовать 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(); Параметры
- строка
$name - Имя блока, для которого нужно захватить данные.
См. также
\Cake\View\ViewBlock::start()template()source public
template( string|null $name null )
Получить/установить имя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.
Параметры
- строка|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulltemplatePath()source public
templatePath( string|null $path null )
Получить/установить путь к файлам шаблонов.
Параметры
- строка|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
строка|nulltheme()source public
theme( string|null $theme null )
Тема представления, которую использовать.
Параметры
- строка|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
строка|nulluuid()source public
uuid( string $object , string $url )
Генерирует уникальный, неслучайный идентификатор DOM для объекта на основе типа объекта и целевого URL.
Параметры
- строка
$object - Тип объекта, например, 'форма' или 'ссылка'
- строка
$url - Целевой URL объекта
Возвращаемые значения
строкаМетоды, используемые из Cake\View\CellTrait
_createCell()source protected
_createCell( string $className , string $action , string $plugin , array $options )
Создает и настраивает экземпляр ячейки.
Параметры
- строка
$className - Имя класса ячейки.
- строка
$action - Имя действия.
- строка
$plugin - Имя плагина.
- массив
$options - Параметры конструктора для ячейки.
Возвращаемые значения
Cake\View\Cell;cell()source public
cell( string $cell , array $data [] , array $options [] )
Отображает заданную ячейку.
Пример:
// 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'); Ячейки не отображаются, пока они не выведены.
Параметры
- строка
$cell Вы должны указать имя ячейки и, необязательно, действие ячейки. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызвано по умолчанию, если оно не указано.- массив
$dataнеобязательно [] Дополнительные аргументы для метода ячейки. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])соответствуетView\Cell\TagCloud::smallList(v1, v2)- массив
$optionsнеобязательно [] - Параметры конструктора для ячейки
Возвращаемые значения
Cake\View\CellЭкземпляр ячейки
Исключения
Cake\View\Exception\MissingCellExceptionЕсли класс ячейки не найден.
BadMethodCallException
Если класс ячейки не указал действие ячейки.
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Обертка для создания и отправки событий.
Возвращает обработанное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null Объект, к которому относится это событие (по умолчанию $this).
Возвращаемые значения
Cake\Event\EventeventManager()source public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события объекта или для создания собственных событий и их запуска по своему усмотрению.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращаемые значения
Cake\Event\EventManagerМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().
Параметры
- смешанное
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращаемые значения
логический типРезультат записи в журнал.
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public
requestAction( string|array $url , array $extra [] )
Вызывает метод контроллера из любой точки. Может использоваться для связи контроллеров или интеграции плагинов в основное приложение. requestAction можно использовать для возврата отрисованных представлений или получения возвращаемого значения действий контроллера.
Внутренне этот метод использует Router::reverse() для преобразования параметра $url в строку URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Примеры
Базовый пример получения возвращаемого значения действия контроллера:
$variables = $this->requestAction('/articles/popular'); Базовый пример request action для получения отрисованной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Вы также можете передать URL в виде массива:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передать данные POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки можно передать, используя ключ cookies. Параметры GET можно задать с помощью query, а данные POST можно отправить, используя ключ post.
$vars = $this->requestAction('/articles/popular', [
'query' => ['page' => 1],
'cookies' => ['remember_me' => 1],
]); Отправка значений среды или заголовков
По умолчанию действия, вызываемые этим методом, будут использовать глобальные значения $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать эти значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, вызываемые этим методом, будут использовать стандартный объект сессии. Если вы хотите использовать определённую сессию, вам нужно её указать.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Устарело
3.3.0 Вам следует переработать код, чтобы использовать View Cells вместо этого метода.Параметры
- строка|массив
$url URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- массив
$extraнеобязательно [] Если массив включает ключ "return", он устанавливает autoRender в true. Также может быть использован для отправки данных GET/POST и переданных аргументов.
Возвращает
смешанноеБулево значение true или false при успешном/неудачном выполнении, или содержимое отрисованного действия, если в $extra задан ключ "return".
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass null )
Создаёт экземпляр класса представления на основе текущей конфигурации.
Параметры
- строка|null
$viewClassнеобязательно null - Необязательное именованное пространство имён класса представления для создания экземпляра.
Возвращает
Cake\View\ViewИсключение
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- строка|массив
$name - Строка или массив данных.
- смешанное
$valueнеобязательно null Значение, если $name является строкой (которая затем работает как ключ). Не используется, если $name является ассоциативным массивом, в противном случае служит значениями для ключей $name.
Возвращает
$this
viewBuilder()source public
viewBuilder( )
Получение используемого билдера представлений.
Возвращает
Cake\View\ViewBuilderviewOptions()source public
viewOptions( string|array|null $options null , boolean $merge true )
Получение/установка допустимых опций представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не задано. Если вызывается без параметров, возвращает текущий список допустимых опций представления. Смотрите createView().
Параметры
- строка|массив|null
$optionsнеобязательно null - Строка или массив строк, которые нужно добавить в _validViewOptions.
- булево
$mergeнеобязательно true Объединить или переопределить существующие допустимые опции представления. По умолчанию
true.
Возвращает
массивОбновлённые опции представления в виде массива.
Подробное описание свойств
$_specialVarssource
protected array
Список специальных переменных представления.
['_serialize', '_jsonOptions', '_jsonp']
$subDirsource
public string
JSON-представления расположены в подкаталоге 'json' для представлений контроллеров.
'json'
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.3/class-Cake.View.JsonView.html