Класс 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 реализует Cake\Event\EventDispatcherInterface использует 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-макеты находятся в подкаталоге jsonstringLayouts/ -
$subDirpublicJSON-представления находятся в подкаталоге «json» для представлений контроллеров.string
Унаследованные магические свойства
-
Blocks,Breadcrumbs,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, будут использоваться все доступные переменные представления.
Возвращает
смешанныйДанные для сериализации.
_serialize()source protected
_serialize( array|string|boolean $serialize )
Сериализация переменных представления
Специальные параметры
_jsonOptions Вы можете установить пользовательские параметры для json_encode() таким образом, например, JSON_HEX_TAG | JSON_HEX_APOS.
Параметры
- массив|строка|булево
$serialize Имя(а) переменной(ых) представления, которые нужно(ы) сериализовать. Если true, будут использоваться все доступные переменные представления.
Возвращает
строка|ложьСериализованные данные или boolean 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 - Имя атрибута для получения.
Возвращает
смешанный__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 - Данные для включения в рендеренное представление.
Возвращает
строкаРезультат рендера
_getElementFileName()source protected
_getElementFileName( string $name , boolean $pluginCheck = true )
Находит имя файла элемента, возвращает false при ошибке.
Параметры
- строка
$name - Имя элемента для поиска.
- булево
$pluginCheckнеобязательно true - если 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). Имена действий с верхним регистром будут преобразовываться в нижний регистр с подчеркиванием по умолчанию. Это означает, что у вас могут быть длинные имена действий, которые ссылаются на представления 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 deprecated
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необязательно '' - Текст по умолчанию
Возвращает
строкаСодержимое блока или $default, если блок не существует.
См. также
\Cake\View\ViewBlock::get()get()source public
get( string $var , mixed $default = null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
- смешанный тип
$defaultнеобязательно null - Значение по умолчанию/fallback переменной $var.
Возвращает
смешанный типСодержимое указанной переменной, если она задана, иначе $default.
getCurrentType()source public
getCurrentType( )
Получение текущего типа представления
Возвращает
строкаgetLayout()source public
getLayout( )
Получение имени файла макета для отображения шаблона. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Возвращает
строкаgetTemplate()source public
getTemplate( )
Получение имени файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/<подпапка> без расширения .ctp.
Возвращает
строка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 deprecated
layout( string|null $name = null )
Получить/установить имя файла макета для рендеринга шаблона. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Устаревшее
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public deprecated
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 Содержание блока. Значение будет приведено к строковому типу.
Возвращает
$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/<подпапка> без расширения .ctp.
Параметры
- 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 deprecated
template( string|null $name = null )
Получить/установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/<подпапка> без расширения .ctp.
Устаревшее
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
string|nulltemplatePath()source public deprecated
templatePath( string|null $path = null )
Получить/установить путь к файлам шаблонов.
Устаревшее
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
string|nulltheme()source public deprecated
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 )
Создать и настроить экземпляр ячейки.
Параметры
- string
$className - Имя класса ячейки.
- string
$action - Имя действия.
- string
$plugin - Имя плагина.
- array
$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'); Ячейки не отображаются до тех пор, пока они не будут выведены.
Параметры
- string
$cell Вы должны указать имя ячейки и, необязательно, имя действия ячейки. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызываться по умолчанию, если не указано.- array
$dataoptional [] Дополнительные аргументы для метода ячейки. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])соответствуетView\Cell\TagCloud::smallList(v1, v2)- array
$optionsoptional [] - Параметры для конструктора ячейки
Возвращает
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 )
Обёртка для создания и отправки событий.
Возвращает обработанное событие.
Параметры
- string
$name - Имя события.
- array|null
$dataoptional null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- object|null
$subjectoptional null Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventeventManager()source public deprecated
eventManager( Cake\Event\EventManager $eventManager = null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по желанию.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManageroptional null - менеджер событий для установки
Возвращает
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 - менеджер событий для установки
Возвращает
$this
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$leveloptional LogLevel::ERROR - Уровень ошибки.
- string|array
$contextoptional [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanРезультат записи в журнал.
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public deprecated
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 Вам следует переписать свой код, чтобы использовать ячейки представления вместо этого метода.Параметры
- string|array
$url URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- array
$extraoptional [] Если массив содержит ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и передачи аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудачи, или содержимое отрендеренного действия, если в $extra установлен ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass = null )
Создаёт экземпляр класса представления на основе текущей конфигурации.
Параметры
- string|null
$viewClassoptional null - Необязательное имя пространства имён класса представления для создания экземпляра.
Возвращает
Cake\View\ViewВыбрасывает
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value = null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- mixed
$valueoptional 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']
$subDirsource
public string
JSON-представления расположены в подкаталоге 'json' для представлений контроллеров.
'json'
© 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/3.6/class-Cake.View.JsonView.html