Класс 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,Flash,Form,Html,Number,Paginator,Rss,Session,Text,Time,Url,view,viewPath_validViewOptions
Наследованные свойства
-
Blocks,_current,_currentType,_ext,_helpers,_parents,_passedVars,_paths,_pathsForPlugin,_stack,_viewBlockClass,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, будут использованы все доступные переменные представления.
Возвращает
mixedДанные для сериализации.
_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\Http\ServerRequest $request null , Cake\Http\Response $response null , Cake\Event\EventManager $eventManager null , array $viewOptions [] )
Конструктор
Параметры
-
Cake\Http\ServerRequest$requestнеобязательно null - Экземпляр запроса.
-
Cake\Http\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 - Имя атрибута для получения.
Возвращает
mixed__set()source public
__set( string $name , mixed $value )
Магический сеттер для устаревших свойств.
Параметры
- строка
$name - Имя свойства.
- смешанный
$value - Значение для свойства.
_checkFilePath()source protected
_checkFilePath( string $file , string $path )
Проверка, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
Будут проверены только пути, содержащие .., так как они наиболее вероятно могут разрешиться в файлы вне путей шаблонов.
Параметры
- строка
$file - Путь к файлу шаблона.
- строка
$path - Базовый путь, в котором $file должен находиться.
Возвращает
строкаПуть к файлу
Выбрасывает
Исключение неверного аргумента_elementCache()source protected
_elementCache( string $name , array $data , array $options )
Генерирует параметры конфигурации кеша для элемента.
Параметры
- строка
$name - Имя элемента
- массив
$data - Данные
- массив
$options - Параметры элемента
Возвращает
массивКонфигурация кеша элементов.
_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод для оценки шаблона/скрипта представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView - Данные для включения в отрисованное представление.
Возвращает
строкаРезультат рендеринга
_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 Содержание блока. Значение будет преобразовано в строку.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Устанавливает содержание блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value Содержание блока. Значение будет преобразовано в строку.
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()autoLayout()source public
autoLayout( boolean|null $autoLayout null )
Включает или выключает стандартный режим CakePHP для применения файлов макетов. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
Устарело
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- логическое|null
$autoLayoutнеобязательно null - Логическое значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
логическое|nullblocks()source public
blocks( )
Получает имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options [] )
Создаёт кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кеш, определённый в elementCache.
Этот метод сначала попытается прочитать кеш. Если кеш пустой, $block будет выполнен, и результат будет сохранён.
Параметры
- вызываемый
$block - Блок кода, результат которого вы хотите кэшировать.
- массив
$optionsнеобязательно [] - Параметры, определяющие ключ кеша и т. д.
Возвращает
строкаОтрисованное содержимое.
Выбрасывает
RuntimeExceptionКогда $options не содержит опции 'key'.
element()source public
element( string $name , array $data [] , array $options [] )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Реализует концепцию элементов (или «частичных макетов»), и массив $params используется для отправки данных, которые будут использоваться в элементе. Элементы могут быть кэшированы, повышая производительность, с использованием параметра cache.
Параметры
- строка
$name Имя файла шаблона в папке /src/Template/Element/ или
MyPlugin.template, чтобы использовать элемент шаблона из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути к представлениям.- массив
$dataнеобязательно [] - Массив данных, которые должны быть доступны для рендеринга представления (то есть элемента).
- массив
$optionsнеобязательно [] Массив опций. Возможные ключи: -
cache- Может бытьtrue, чтобы включить кэширование с использованием конфигурации в View::$elementCache. Или массив. Если массив, следующие ключи могут быть использованы: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксамиelement_. -callbacks- Устанавливается в true, чтобы вызывать вспомогательные функции beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для разрешения отсутствия элементов. Установите в true, чтобы не генерировать исключения. -plugin- Установка в false принудительно использует элемент приложения из шаблонов плагинов, когда плагин имеет элемент с таким же именем. По умолчанию true
Возвращает
строкаОтображённый элемент
Исключение
Cake\View\Exception\MissingElementExceptionПри отсутствии элемента и ignoreMissing равно false.
elementExists()source public
elementExists( string $name )
Проверяет существование элемента
Параметры
- строка
$name Имя файла шаблона в папке /src/Template/Element/ или
MyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути к представлениям.
Возвращает
булевоУспех
enableAutoLayout()source public
enableAutoLayout( boolean $enable true )
Включает или выключает стандартный режим CakePHP применения файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендерным представлениям.
Параметры
- булево
$enableнеобязательно true - Булево значение для включения/выключения.
Возвращает
$this
end()source public
end( )
Завершение блока захвата. Дополнение к View::start()
Возвращает
$this
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверка существования блока
Параметры
- строка
$name - Имя блока
Возвращает
булевоextend()source public
extend( string $name )
Обеспечивает расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Шаблон или элемент для расширения текущего.
Возвращает
$this
Исключения
LogicExceptionпри расширении шаблона самим собой или при циклических расширениях.
LogicException
при расширении элемента, которого не существует
fetch()source public
fetch( string $name , string $default '' )
Получение содержимого для блока. Если блок пуст или не определён, возвращается «».
Параметры
- строка
$name - Имя блока
- строка
$defaultнеобязательно '' - Значение по умолчанию
Возвращает
строкаСодержимое блока или значение по умолчанию, если блок отсутствует.
См. также
\Cake\View\ViewBlock::get()get()source public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой требуется.
- смешанное
$defaultнеобязательно null - Значение по умолчанию/резервное содержимое $var.
Возвращает
смешанноеСодержимое заданной переменной, если она установлена, иначе значение по умолчанию.
getCurrentType()source public
getCurrentType( )
Получение текущего типа представления
Возвращает
строкаgetLayout()source public
getLayout( )
Получение имени файла макета для рендеринга шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Возвращает
строкаgetTemplate()source public
getTemplate( )
Получение имени файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Возвращает
строкаgetTemplatePath()source public
getTemplatePath( )
Получение пути к файлам шаблонов.
Возвращает
строкаgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления.
Возвращает
массивМассив имён установленных переменных представления.
helpers()source public
helpers( )
Получение реестра вспомогательных функций, используемого этим классом представления.
Возвращает
Cake\View\HelperRegistryinitialize()source public
initialize( )
Метод инициализации.
Свойства, такие как $helpers и т. д., нельзя инициализировать статически в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Этот метод позволяет манипулировать ими по мере необходимости после построения экземпляра представления.
isAutoLayoutEnabled()source public
isAutoLayoutEnabled( )
Возвращает, включён ли в CakePHP стандартный режим применения файлов макета. Отключено, если макеты не будут автоматически применяться к рендеримым представлениям.
Возвращает
булевоlayout()source public
layout( string|null $name null )
Получить/установить имя файла шаблона макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Устаревший
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public
layoutPath( string|null $path null )
Получить/установить путь к файлам макета.
Устаревший
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
string|nullloadHelper()source public
loadHelper( string $name , array $config [] )
Загружает помощник. Делегирует загрузку помощника HelperRegistry::load().
Параметры
- string
$name - Имя помощника для загрузки.
- array
$configнеобязательно [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект помощника.
См. также
\Cake\View\HelperRegistry::load()pluginSplit()source public
pluginSplit( string $name , boolean $fallback true )
Разделяет имя плагина с синтаксисом точки на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся без изменений для имён файлов, содержащих точку.
Параметры
- string
$name - Имя плагина, которое нужно разделить.
- boolean
$fallbackнеобязательно true - Если true, используется плагин, установленный в текущем запросе, когда загруженный плагин не найден.
Возвращает
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавить в начало существующего или нового блока.
Добавление в начало нового блока создаст этот блок.
Параметры
- string
$name - Имя блока
- mixed
$value Содержание блока. Значение будет приведено к типу string.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()renderLayout()source public
renderLayout( string $content , string|null $layout null )
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Несколько переменных создаются для использования в макете.
Параметры
- string
$content - Содержимое для рендеринга в шаблоне, обернутое окружающим макетом.
- string|null
$layoutнеобязательно null - Имя макета
Возвращает
mixedОтформатированный вывод или false при ошибке
Исключения
Cake\Core\Exception\Exceptionесли есть ошибка в представлении.
Триггеры
View.beforeLayout $this, [$layoutFileName]View.afterLayout $this, [$layoutFileName]
reset()source public
reset( string $name )
Сбросить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()setLayout()source public
setLayout( string $name )
Установить имя файла макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- string
$name - Имя файла макета для установки.
Возвращает
$this
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макета.
Параметры
- string
$path - Путь к файлам макета.
Возвращает
$this
setTemplate()source public
setTemplate( string $name )
Установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Параметры
- string
$name - Имя файла шаблона для установки.
Возвращает
$this
setTemplatePath()source public
setTemplatePath( string $path )
Установить путь к файлам шаблонов.
Параметры
- string
$path - Путь к файлам шаблонов.
Возвращает
$this
setTheme()source public
setTheme( string|null $theme )
Установить используемую тему представления.
Параметры
- string|null
$theme - Имя темы.
Возвращает
$this
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(); Параметры
- string
$name - Имя блока для захвата.
Возвращает
$this
См. также
\Cake\View\ViewBlock::start()template()source public
template( string|null $name null )
Получить/установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Устаревший
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
string|nulltemplatePath()source public
templatePath( string|null $path null )
Получить/установить путь к файлам шаблонов.
Устаревший
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
string|nulltheme()source public
theme( string|null $theme null )
Используемая тема представления.
Устаревший
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- string|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
string|nulluuid()source public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта, основанный на типе объекта и целевом URL.
Параметры
- string
$object - Тип объекта, например 'форма' или 'ссылка'
- string
$url - Целевой URL объекта
Возвращает
stringМетоды, используемые из Cake\View\CellTrait
_createCell()source protected
_createCell( string $className , string $action , string $plugin , array $options )
Создайте и настройте экземпляр ячейки.
Параметры
- строка
$className - Имя класса ячейки.
- строка
$action - Имя действия.
- строка
$plugin - Имя плагина.
- массив
$options - Параметры конструктора для ячейки.
Возвращает
Cake\View\Cellcell()source protected
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 для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска по желанию.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - устанавливаемый eventManager
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска по желанию.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска по желанию.
Параметры
-
Cake\Event\EventManager$eventManager - устанавливаемый eventManager
Возвращает
$this
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanРезультат записи в журнал.
Методы, используемые из 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().
Параметры
- string|array|null
$optionsнеобязательно null - Строка или массив строк, которые будут добавлены к _validViewOptions.
- boolean
$mergeнеобязательно true Флаг, определяющий, сливать или перезаписывать существующие допустимые параметры представления. По умолчанию
true.
Возвращает
arrayОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
$_specialVarssource
protected array
Список специальных параметров представления.
['_serialize', '_jsonOptions', '_jsonp']
$layoutPathsource
public string
Расположение JSON-макетов находится в подкаталоге json каталога Layouts/
'json'
$subDirsource
public string
JSON-представления расположены в подкаталоге 'json' представлений контроллеров.
'json'
© 2005–2018 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.5/class-Cake.View.JsonView.html