Класс SerializedView
Базовый класс для классов представления, генерирующих сериализованные выходы, такие как JsonView и XmlView.
- 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
Непосредственные подклассы
Унаследованные константы
Резюме свойств
-
$_responseTypeprotectedТип ответа.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,autoLayout,elementCache,hasRendered,helpers,layout,layoutPath,name,passedArgs,plugin,request,response,subDir,template,templatePath,theme,uuids_eventClass,_eventManager_viewBuilder,viewClass,viewVars
Резюме методов
- __construct() publicКонструктор
- Сериализация переменных представления.
- loadHelpers() publicЗагрузка помощников только если сериализация отключена.
- render() publicОтображение шаблона представления или возврат сериализованных данных.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ServerRequest $request null , Cake\Http\Response $response null , Cake\Event\EventManager $eventManager null , array $viewOptions [] )
Конструктор
Параметры
-
Cake\Http\ServerRequest$requestoptional null - Экземпляр запроса.
-
Cake\Http\Response$responseoptional null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManageroptional null - Экземпляр EventManager.
- array
$viewOptionsoptional [] - Массив параметров представления
Переопределяет
Cake\View\View::__construct() _serialize()source abstract protected
_serialize( array|string $serialize )
Сериализация переменных представления.
Параметры
- array|string
$serialize Имя(а) переменной(ых) представления, которые необходимо сериализовать
Возвращает
stringСериализованные данные
loadHelpers()source public
loadHelpers( )
Загрузка помощников только если сериализация отключена.
Переопределяет
Cake\View\View::loadHelpers() render()source public
render( string|boolean|null $view null , string|null $layout null )
Отображение шаблона представления или возврат сериализованных данных.
Специальные параметры
_serialize Для преобразования набора переменных представления в сериализованную форму. Его значение может быть строкой для имени одной переменной или массивом для нескольких имён. Если истинно, все переменные представления будут сериализованы. Если не задано, будет отображаться обычный шаблон представления.
Параметры
- string|boolean|null
$viewoptional null - Отображаемое представление.
- string|null
$layoutoptional null - Отображаемый макет.
Возвращает
string|nullОтображённое представление.
Выбрасывает
Cake\Core\Exception\ExceptionЕсли есть ошибка в представлении.
Переопределяет
Cake\View\View::render() Методы унаследованные от Cake\View\View
__get()source public
__get( string $name )
Магический аксессор для помощников.
Параметры
- string
$name - Имя атрибута для получения.
Возвращает
mixed__set()source public
__set( string $name , mixed $value )
Магический установщик для устаревших свойств.
Параметры
- string
$name - Имя свойства.
- mixed
$value - Значение свойства.
_checkFilePath()source protected
_checkFilePath( string $file , string $path )
Проверка, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
Будут проверены только пути, содержащие .., так как они наиболее вероятны для разрешения в файлы за пределами путей шаблонов.
Параметры
- string
$file - Путь к файлу шаблона.
- string
$path - Базовый путь, внутри которого должен находиться $file.
Возвращает
stringПуть к файлу
Выбрасывает
InvalidArgumentException_elementCache()source protected
_elementCache( string $name , array $data , array $options )
Генерация параметров кэширования для элемента.
Параметры
- string
$name - Имя элемента
- array
$data - Данные
- array
$options - Параметры элемента
Возвращает
arrayКонфигурация кэширования элемента.
_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод для оценки шаблона/скрипта представления в песочнице.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataForView - Данные для включения в рендер представления.
Возвращает
stringОтображённый вывод
_getElementFileName()source protected
_getElementFileName( string $name , boolean $pluginCheck true )
Поиск имени файла элемента, возвращает false при неудаче.
Параметры
- string
$name - Имя элемента для поиска.
- boolean
$pluginCheckoptional true - если false, плагин запроса будет проигнорирован, если плагин, который был проанализирован, не загружен
Возвращает
string|falseСтрока с именем файла элемента или false, если файл не найден.
_getLayoutFileName()source protected
_getLayoutFileName( string|null $name null )
Возвращает имя файла шаблона макета для этого шаблона в виде строки.
Параметры
- string|null
$nameнеобязательно null - Имя макета для поиска.
Возвращает
stringИмя файла файла макета (.ctp).
Выбрасывает
Cake\View\Exception\MissingLayoutExceptionесли макет не может быть найден
_getSubPaths()source protected
_getSubPaths( string $basePath )
Находит все пути к подшаблонам, основанные на $basePath. Если в текущем запросе определён префикс, этот метод добавит префикс к пути шаблона $basePath, каскадируя вверх, если префикс вложен. В основном используется для поиска путей к префиксным шаблонам для элементов и макетов.
Параметры
- string
$basePath - Базовый путь, по которому необходимо получить префиксный.
Возвращает
arrayМассив со всеми путями к шаблонам.
_getViewFileName()source protected
_getViewFileName( string|null $name null )
Возвращает имя файла шаблона заданного действия (.ctp) в виде строки. Имена действий с верхним регистром (CamelCase) по умолчанию преобразуются в нижний регистр с символом подчеркивания (snake_case). Это означает, что у вас могут быть длинные имена действий (LongActionNames), которые ссылаются на шаблоны long_action_names.ctp. Вы можете изменить правило инфлексии, переопределив _inflectViewFileName.
Параметры
- string|null
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
stringИмя файла шаблона
Выбрасывает
Cake\View\Exception\MissingTemplateExceptionесли файл шаблона не найден.
_inflectViewFileName()source protected
_inflectViewFileName( string $name )
Изменяет имя файла шаблона представления в формате с нижним регистром и символами подчеркивания.
Параметры
- string
$name - Имя файла, которое должно быть изменено.
Возвращает
stringИмя файла после преобразования
_paths()source protected
_paths( string|null $plugin null , boolean $cached true )
Возвращает все возможные пути к файлам представлений в порядке.
Параметры
- string|null
$pluginнеобязательно null - Необязательное имя плагина для сканирования файлов представлений.
- boolean
$cachedнеобязательно true - Установите в false, чтобы принудительно обновить пути представлений. По умолчанию true.
Возвращает
arrayПути
_render()source protected
_render( string $viewFile , array $data [] )
Отображает и возвращает вывод для заданного имени файла шаблона с массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataнеобязательно [] Данные, которые следует включить в отображаемое представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
stringОтображенный вывод
Выбрасывает
LogicExceptionКогда блок оставлен открытым.
Срабатывает
View.beforeRenderFile $this, [$viewFile]View.afterRenderFile $this, [$viewFile, $content]
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и запускает события before и afterRender для него, записывает в кэш, если используется кэш.
Параметры
- string
$file - Путь к файлу элемента
- array
$data - Данные для отображения
- array
$options - Параметры элемента
Возвращает
stringСрабатывает
View.beforeRender $this, [$file]View.afterRender $this, [$file, $element]
append()source public
append( string $name , mixed $value null )
Добавляет в существующий или новый блок.
Добавление в новый блок создаст этот блок.
Параметры
- string
$name - Имя блока
- mixed
$valueнеобязательно null Содержимое блока. Значение будет приведено к строковому типу.
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
- mixed
$value Содержимое блока. Значение будет приведено к строковому типу.
См. также
\Cake\View\ViewBlock::set()autoLayout()source public
autoLayout( boolean|null $autoLayout null )
Включает или выключает традиционный режим CakePHP применения файлов макета. Включен по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеряемым шаблонам.
Устарело
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- boolean|null
$autoLayoutнеобязательно null - Булево значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
boolean|nullblocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэш, определённый в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пустой, $block будет выполнен, а вывод сохранён.
Параметры
- callable
$block - Блок кода, вывод которого необходимо кэшировать.
- array
$optionsнеобязательно [] - Параметры, определяющие ключ кэша и т.д.
Возвращает
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
$dataнеобязательно [] - Массив данных, которые будут доступны для отображаемого представления (т.е. элемента)
- array
$optionsнеобязательно [] Массив параметров. Возможные ключи: -
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 )
Проверяет, существует ли элемент
Параметры
- строка
$name Имя файла шаблона в папке /src/Template/Element/ или
MyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути к представлениям.
Возвращает
booleanУспех
enableAutoLayout()source public
enableAutoLayout( boolean $enable true )
Включает или выключает традиционный режим CakePHP по применению файлов макетов. По умолчанию включен. Отключение означает, что макеты не будут автоматически применяться к отображаемым представлениям.
Параметры
- boolean
$enableнеобязательно true - Булево значение для включения/выключения.
end()source public
end( )
Завершает блок захвата. Дополнение к View::start()
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверка существования блока
Параметры
- строка
$name - Имя блока
Возвращает
booleanextend()source public
extend( string $name )
Предоставляет расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$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( )
Получение текущего типа представления
Возвращает
строка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 по применению файлов макета. Выключено означает, что макеты не будут автоматически применяться к отображаемым представлениям.
Возвращает
booleanlayout()source public
layout( string|null $name null )
Получение/установка имени файла макета для отображения шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.
Устарело
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulllayoutPath()source public
layoutPath( string|null $path null )
Получение/установка пути к файлам макетов.
Устарело
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- строка|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()setLayout()source public
setLayout( string $name )
Установить имя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- строка
$name - Имя файла макета для установки.
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макета.
Параметры
- строка
$path - Путь к файлам макета.
setTemplate()source public
setTemplate( string $name )
Установить имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.
Параметры
- строка
$name - Имя файла шаблона для установки.
setTemplatePath()source public
setTemplatePath( string $path )
Установить путь к файлам шаблонов.
Параметры
- строка
$path - Путь к файлам шаблонов.
setTheme()source public
setTheme( string $theme )
Установить тему представления для использования.
Параметры
- строка
$theme - Имя темы.
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.
Устарело
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращаемые значения
строка|nulltemplatePath()source public
templatePath( string|null $path null )
Получение/установка пути к файлам шаблонов.
Устарело
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- строка|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращаемые значения
строка|nulltheme()source public
theme( string|null $theme null )
Тема представления для использования.
Устарело
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- строка|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\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 - менеджер событий для установки
Возвращает
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().
Параметры
- смешанное
$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().
Параметры
- строка|массив|null
$optionsнеобязательно null - строка или массив строк для добавления в _validViewOptions.
- boolean
$mergeнеобязательно true Нужно ли слить или переопределить существующие допустимые параметры представления. По умолчанию
true.
Возвращает
массивОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
© 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.4/class-Cake.View.SerializedView.html