Класс XmlView
Класс представления, используемый для создания XML-ответов.
Установив ключ '_serialize' в своём контроллере, вы можете указать переменную представления, которая должна быть сериализована в XML и использована как ответ на запрос. Это позволяет опустить представления + макеты, если вам нужно только вывести одну переменную представления в качестве XML-ответа.
В вашем контроллере вы можете сделать следующее:
$this->set(['posts' => $posts, '_serialize' => true]);
При отрисовке представления, переменная $posts будет сериализована в XML.
Примечание Переменная представления, которую вы указываете, должна быть совместима с Xml::fromArray().
Вы также можете определить '_serialize' в виде массива. Это создаст дополнительный элемент верхнего уровня с именем <response>, содержащий все именованные переменные представления:
$this->set(compact('posts', 'users', 'stuff'));
$this->set('_serialize', true); Вышеприведённый код сгенерирует XML-объект, который выглядит следующим образом:
<response><posts>...</posts><users>...</users></response>
Вы также можете установить '_serialize' в строку или массив, чтобы сериализовать только указанные переменные представления.
Если вы не используете ключ _serialize, вам потребуется представление. Вы можете использовать расширенные представления, чтобы обеспечить функциональность макетов.
- 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\XmlView
Наследованные константы
Краткое описание свойств
-
$_responseTypeprotectedТип ответа.string -
$_specialVarsprotectedСписок специальных переменных представления.array -
$layoutPathprotectedXML-макеты находятся в подкаталоге xml каталогаstringLayouts/ -
$subDirprotectedXML-представления находятся в подкаталоге 'xml' для представлений контроллеров.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
Краткое описание методов
- _serialize() protectedСериализация переменных представления.
Подробное описание методов
_serialize()source protected
_serialize( array|string $serialize )
Сериализация переменных представления.
Специальные параметры
_xmlOptions Вы можете установить массив пользовательских опций для Xml::fromArray() таким образом, например, 'format' как 'attributes' вместо 'tags'.
Параметры
- массив|строка
$serialize - Имя(а) переменной(ых) представления, которая(ые) должна(ы) быть(и) сериализована(ы)
Возвращаемое значение
строкаСериализованные данные
Методы, унаследованные от 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() render()source public
render( string|boolean|null $view = null , string|null $layout = null )
Отрисовка шаблона представления или возврат сериализованных данных.
Специальные параметры
_serialize Чтобы преобразовать набор переменных представления в сериализованную форму. Его значение может быть строкой для имени одной переменной или массивом для нескольких имён. Если true, все переменные представления будут сериализованы. Если не задано, будет рендериться обычный шаблон представления.
Параметры
- строка|булево|null
$viewнеобязательно null - Отображаемое представление.
- строка|null
$layoutнеобязательно null - Отображаемый макет.
Возвращаемое значение
строка|nullОтображаемое представление.
Исключения
Cake\Core\Exception\ExceptionЕсли возникла ошибка в представлении.
Переопределяет
Cake\View\View::render() Методы, унаследованные от 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 при ошибке.
Параметры
- string
$name - Имя элемента для поиска.
- boolean
$pluginCheckoptional true - если false, плагин из запроса будет проигнорирован, если загруженный плагин не найден
Возвращает
string|falseСтрока с именем файла элемента или false, если элемент не найден.
_getLayoutFileName()source protected
_getLayoutFileName( string|null $name = null )
Возвращает имя файла макета для этой шаблона в виде строки.
Параметры
- string|null
$nameoptional 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) в виде строки. Имена действий с верблюжьей нотацией по умолчанию будут преобразовываться в нижний регистр с подчеркиванием. Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило инфлексии, переопределив _inflectViewFileName.
Параметры
- string|null
$nameoptional 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
$pluginoptional null - Необязательное имя плагина, для поиска файлов представлений.
- boolean
$cachedoptional true - Установите в false, чтобы принудительно обновить пути к представлениям. По умолчанию true.
Возвращает
arrayпути
_render()source protected
_render( string $viewFile , array $data = [] )
Выводит и возвращает вывод для заданного имени файла шаблона с массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataoptional [] Данные для включения в отрисовываемое представление. Если пусто, будут использоваться текущие 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
$valueoptional null Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
- mixed
$value Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См
\Cake\View\ViewBlock::set()autoLayout()source public deprecated
autoLayout( boolean|null $autoLayout = null )
Включает или выключает традиционный режим CakePHP по применению файлов макетов. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к шаблонам.
Устаревшее
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- boolean|null
$autoLayoutoptional 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
$optionsoptional [] - Параметры, определяющие ключ кэша и т. д.
Возвращает
stringОтформатированное содержимое.
Выбрасывает
RuntimeExceptionКогда в $options отсутствует опция 'key'.
disableAutoLayout()source public
disableAutoLayout( )
Отключает традиционный режим CakePHP по применению файлов макетов.
Макеты не будут автоматически применяться к отрисовываемым представлениям.
Возвращает
$this
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 - Значение по умолчанию/резервное значение для $var.
Возвращает
смешанныйСодержимое названной переменной, если она установлена, в противном случае $default.
getCurrentType()source public
getCurrentType( )
Получить текущий тип представления
Возвращает
строкаgetLayout()source public
getLayout( )
Получить имя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
Возвращает
строкаgetName()source public
getName( )
Возвращает имя контроллера представления.
Возвращает
строка|nullС момента
3.7.7getPlugin()source public
getPlugin( )
Возвращает имя плагина.
Возвращает
строка|nullС момента
3.7.0getRequest()source public
getRequest( )
Получает экземпляр запроса.
Возвращает
Cake\Http\ServerRequestС момента
3.7.0getResponse()source public
getResponse( )
Получает экземпляр ответа.
Возвращает
Cake\Http\ResponseС момента
3.7.0getSubDir()source public
getSubDir( )
Получить поддиректорию для файлов шаблонов.
Возвращает
строкаСм. также
\Cake\View\View::$subDirС момента
3.7.0getTemplate()source public
getTemplate( )
Получить имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.
Возвращает
строкаgetTemplatePath()source public
getTemplatePath( )
Получить путь к файлам шаблонов.
Возвращает
строкаgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления.
Возвращает
строка[]Массив имен установленных переменных представления.
helpers()source public
helpers( )
Получить реестр используемых в этом классе View помощников.
Возвращает
Cake\View\HelperRegistryinitialize()source public
initialize( )
Метод инициализации.
Свойства, такие как $helpers и т. д., не могут быть статически инициализированы в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет манипулировать ими по мере необходимости после создания экземпляра представления.
isAutoLayoutEnabled()source public
isAutoLayoutEnabled( )
Возвращает, включен ли стандартный режим CakePHP по применению файлов шаблонов.
Выключенный режим означает, что макеты не будут автоматически применяться к рендерным представлениям.
Возвращает
booleanlayout()source public deprecated
layout( string|null $name = null )
Получить/установить имя файла макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Устаревшее
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- string|null
$nameoptional null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public deprecated
layoutPath( string|null $path = null )
Получить/установить путь к файлам макета.
Устаревшее
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- string|null
$pathoptional null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
string|nullloadHelper()source public
loadHelper( string $name , array $config = [] )
Загружает помощника. Делегирует загрузку помощника в HelperRegistry::load().
Параметры
- string
$name - Имя помощника для загрузки.
- array
$configoptional [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект построенного помощника.
См. также
\Cake\View\HelperRegistry::load()pluginSplit()source public
pluginSplit( string $name , boolean $fallback = true )
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку.
Параметры
- string
$name - Имя плагина, которое вы хотите разделить.
- boolean
$fallbackoptional 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
$layoutoptional 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()setElementCache()source public
setElementCache( string $elementCache )
Установить конфигурацию кэширования, которую будет использовать View для хранения кэшированных элементов.
Параметры
- string
$elementCache - Имя конфигурации кэша.
Возвращает
$this
См. также
\Cake\View\View::$elementCacheС версии
3.7.0setLayout()source public
setLayout( string $name )
Установить имя файла макета для рендеринга шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- string
$name - Имя файла макета для установки.
Возвращает
$this
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макета.
Параметры
- string
$path - Путь к файлам макета.
Возвращает
$this
setPlugin()source public
setPlugin( string $name )
Устанавливает имя плагина.
Параметры
- string
$name - Имя плагина.
Возвращает
$this
С версии
3.7.0setRequest()source public
setRequest( Cake\Http\ServerRequest $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Устанавливаются следующие свойства:
- $this->request - В $request параметр
- $this->plugin - В значение, возвращаемое $request->getParam('plugin')
- $this->passedArgs - То же, что и $request->params['pass]
Параметры
-
Cake\Http\ServerRequest$request - Экземпляр запроса.
Возвращает
$this
С версии
3.7.0setResponse()source public
setResponse( Cake\Http\Response $response )
Устанавливает экземпляр ответа.
Параметры
-
Cake\Http\Response$response - Экземпляр ответа.
Возвращает
$this
С версии
3.7.0setSubDir()source public
setSubDir( string $subDir )
Устанавливает подкаталог для файлов шаблонов.
Параметры
- string
$subDir - Имя подкаталога.
Возвращает
$this
См. также
\Cake\View\View::$subDirС версии
3.7.0setTemplate()source public
setTemplate( string $name )
Установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Параметры
- string
$name - Имя файла шаблона для установки.
Возвращает
$this
setTemplatePath()source public
setTemplatePath( string $path )
Установить путь к файлам шаблонов.
Параметры
- строка
$path - Путь к файлам шаблонов.
Возвращает
$this
setTheme()source public
setTheme( string|null $theme )
Установить тему представления.
Параметры
- строка|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(); Параметры
- строка
$name - Имя блока, для которого нужно выполнить захват.
Возвращает
$this
См. также
\Cake\View\ViewBlock::start()template()source public deprecated
template( string|null $name = null )
Получить/установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Устарело
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulltemplatePath()source public deprecated
templatePath( string|null $path = null )
Получить/установить путь к файлам шаблонов.
Устарело
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- строка|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
строка|nulltheme()source public deprecated
theme( string|null $theme = null )
Тема представления.
Устарело
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- строка|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
строка|nulluuid()source public deprecated
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта, основанный на типе объекта и целевом URL.
Устарело
3.7.0 Этот метод устарел и будет удален в версии 4.0.0.Параметры
- строка
$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 deprecated
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 для получения отрисованной страницы без макета.
$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. Если вы хотите переопределить эти значения для действия request, вы можете указать их значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, запущенные с помощью этого метода, будут использовать стандартный объект сессии. Если вы хотите использовать конкретный экземпляр сессии, вам нужно его указать.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Устаревшее
3.3.0 Вы должны переписать свой код, чтобы использовать представления ячеек вместо этого метода.Параметры
- строка|массив
$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().
Устаревшее
3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов-сеттеров вместо этого.Параметры
- строка|массив|null
$optionsнеобязательно null - строка или массив строк, которые нужно добавить к _validViewOptions.
- boolean
$mergeнеобязательно true Булевое значение, указывающее, нужно ли объединять с существующими допустимыми параметрами представления или переопределять их. По умолчанию
true.
Возвращает
массивОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробности свойств
$_specialVarssource
protected массив
Список специальных переменных представления.
['_serialize', '_rootNode', '_xmlOptions']
$subDirsource
protected строка
XML представления расположены в подкаталоге 'xml' для представлений контроллеров.
'xml'
© 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.8/class-Cake.View.XmlView.html