Класс XmlView
Класс представления, используемый для создания XML-ответов.
Установив ключ '_serialize' в вашем контроллере, вы можете указать переменную представления, которая должна быть сериализована в XML и использована в качестве ответа на запрос. Это позволяет опустить представления + макеты, если вам нужно просто вывести одну переменную представления в качестве XML-ответа.
В вашем контроллере вы можете сделать следующее:
$this->set(array('posts' => $posts, '_serialize' => 'posts'));
При отрисовке представления переменная представления $posts будет сериализована в XML.
Примечание Переменная представления, которую вы указываете, должна быть совместима с Xml::fromArray().
Вы также можете определить '_serialize' как массив. Это создаст дополнительный элемент верхнего уровня с именем <response>, содержащий все именованные переменные представления:
$this->set(compact('posts', 'users', 'stuff'));
$this->set('_serialize', array('posts', 'users')); Вышеприведенный код сгенерирует XML-объект, который выглядит следующим образом:
<response><posts>...</posts><users>...</users></response>
Если вы не используете ключ _serialize, вам потребуется представление. Вы можете использовать расширенные представления, чтобы обеспечить функциональность макета.
- CakeObject
-
Представление -
XmlView
С версии: CakePHP(tm) v 2.1.0
Авторское право: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/View/XmlView.php
Унаследованные константы
Краткое описание свойств
-
$subDirpublicПоддиректория. XML-представления всегда находятся в xml.string
Унаследованные магические свойства
Унаследованные свойства
-
Blocks,Helpers,_current,_currentType,_eventManager,_eventManagerConfigured,_parents,_passedVars,_paths,_pathsForPlugin,_scripts,_stack,autoLayout,cacheAction,elementCache,elementCacheSettings,ext,hasRendered,helpers,layout,layoutPath,name,passedArgs,plugin,request,response,theme,uuids,validationErrors,view,viewVars
Краткое описание методов
- __construct() publicКонструктор
- _serialize() protectedСериализация переменных представления.
- loadHelpers() publicПропуск загрузки помощников, если это представление, основанное на _serialize.
- render() publicОтрисовка XML-представления.
Подробное описание методов
__construct()source public
__construct( Controller $controller null )
Конструктор
Параметры
-
Controller$controllerнеобязательный null - Экземпляр контроллера.
Переопределяет
View::__construct() _serialize()source protected
_serialize( array $serialize )
Сериализация переменных представления.
Особые параметры
_xmlOptions Вы можете установить массив пользовательских опций для Xml::fromArray() таким образом, например, 'format' как 'attributes' вместо 'tags'.
Параметры
- массив
$serialize - Переменные представления, которые нужно сериализовать.
Возвращает
строкаСериализованные данные
loadHelpers()source public
loadHelpers( )
Пропуск загрузки помощников, если это представление, основанное на _serialize.
Переопределяет
View::loadHelpers() render()source public
render( string $view null , string $layout null )
Отрисовка XML-представления.
Использует специальный параметр '_serialize' для преобразования набора переменных представления в XML-ответ. Это очень упрощает создание простых XML-ответов. Вы также можете опустить параметр '_serialize' и использовать обычное представление + макет.
Параметры
- строка
$viewнеобязательный null - Отображаемое представление.
- строка
$layoutнеобязательный null - Отображаемый макет.
Возвращает
строкаОтображенное представление.
Исключения
CakeExceptionЕсли возникла ошибка в представлении.
Переопределяет
View::render() Методы, унаследованные от Представление
__get()source public
__get( string $name )
Магический доступ к помощникам. Обеспечивает доступ к атрибутам, которые были устаревшими.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
смешанный__isset()source public
__isset( string $name )
Магическая проверка isset для устаревших атрибутов.
Параметры
- строка
$name - Имя атрибута для проверки.
Возвращает
булево__set()source public
__set( string $name , mixed $value )
Магический доступ к устаревшим атрибутам.
Параметры
- строка
$name - Имя атрибута для установки.
- смешанный
$value - Значение атрибута для установки.
Возвращает
смешанный_elementCache()source protected
_elementCache( string $name , string $data , array $options )
Проверяет, кэширован ли элемент, и возвращает кэшированные данные, если они есть
Параметры
- строка
$name - Имя элемента
- строка
$data - Данные
- массив
$options - Параметры элемента
Возвращает
строка|null_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод-песочница для оценки шаблона/скрипта представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView Данные для включения в отрисованное представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
строкаОтображенный вывод
_getElementFileName()source protected
_getElementFileName( string $name )
Находит имя файла элемента, возвращает false при неудаче.
Параметры
- строка
$name - Имя элемента для поиска.
Возвращает
смешанныйИмя файла элемента или false, если он не найден.
_getExtensions()source protected
_getExtensions( )
Получение расширений, которые могут использовать файлы представлений.
Возвращает
массивМассив расширений, используемых файлами представлений.
_getLayoutFileName()source protected
_getLayoutFileName( string $name null )
Возвращает имя файла макета для данного шаблона в виде строки.
Параметры
- строка
$nameнеобязательный null - Имя макета для поиска.
Возвращает
строкаИмя файла макета (.ctp).
Исключения
MissingLayoutExceptionпри невозможности найти макет
_getViewFileName()source protected
_getViewFileName( string $name null )
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с верблюжьей нотацией будут преобразованы в нижний регистр, разделенный символами подчеркивания! Это означает, что у вас могут быть имена действий со словами с большой буквы, которые ссылаются на шаблоны с именами в нижнем регистре, разделенными подчеркиваниями.
Параметры
- строка
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
строкаИмя файла шаблона
Исключения
MissingViewExceptionесли файл шаблона не был найден.
_paths()source protected
_paths( string $plugin null , boolean $cached true )
Возвращает все возможные пути к файлам шаблонов в порядке приоритета
Параметры
- строка
$pluginнеобязательно null - Необязательное имя плагина, для поиска файлов шаблонов.
- логическое значение
$cachedнеобязательно true - Установите в значение false, чтобы принудительно обновить пути к файлам шаблонов. По умолчанию true.
Возвращает
массивПути
_render()source protected
_render( string $viewFile , array $data array() )
Отображает и возвращает вывод для заданного имени файла шаблона с массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
- строка
$viewFile - Имя файла шаблона
- массив
$dataнеобязательно array() - Данные для включения в отрисованный шаблон. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
строкаВыходной вывод
Исключения
CakeExceptionкогда блок остается открытым.
Вызывает
View.beforeRenderFile $this, array($viewFile)View.afterRenderFile $this, array($viewFile, $content)
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и вызывает обработчики beforeRender и afterRender для него, и записывает в кэш, если используется кэширование.
Параметры
- строка
$file - Путь к файлу элемента
- массив
$data - Данные для отображения
- массив
$options - Параметры элемента
Возвращает
строкаВызывает
View.beforeRender $this, array($file)View.afterRender $this, array($file, $element)
addScript()source public
addScript( string $name , string $content null )
Добавляет блок скрипта или другой элемент, который будет вставлен в $scripts_for_layout в <head /> макета документа.
Устарело
3.0.0 Будет удалено в 3.0. Заменено функциональностью блоков.Параметры
- строка
$name Имя ключа для скрипта или содержимое скрипта. Имя может быть использовано для обновления/замены элемента скрипта.
- строка
$contentнеобязательно null - Содержимое добавляемого скрипта, необязательно.
См. также
View::start()append()source public
append( string $name , mixed $value null )
Добавляет содержимое в существующий или новый блок. Добавление в новый блок создаст этот блок.
Параметры
- строка
$name - Имя блока
- смешанное
$valueнеобязательно null - Содержимое блока.
См. также
ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанное
$value - Содержимое блока.
См. также
ViewBlock::set()blocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
ViewBlock::keys()element()source public
element( string $name , array $data array() , array $options array() )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или другую строку.
Реализует концепцию элементов (или "частичных макетов"), и массив $params используется для передачи данных для использования в элементе. Элементы могут кэшироваться, что улучшает производительность, используя опцию cache.
Параметры
- строка
$name Имя файла шаблона в папке /app/View/Elements/ или
MyPlugin.templateдля использования шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет использован каскадный поиск пути к шаблонам.- массив
$dataнеобязательно array() - Массив данных, доступных для отрисовываемого шаблона (т.е. элемента)
- массив
$optionsнеобязательно array() Массив параметров. Возможные ключи: -
cache- Может бытьtrue, чтобы включить кэширование с использованием конфигурации в View::$elementCache. Или массив. Если массив, можно использовать следующие ключи: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Будет префиксelement_-plugin- (устарело!) Загрузить элемент из определенного плагина. Этот параметр устарел и будет удален в CakePHP 3.0. ИспользуйтеPlugin.element_nameвместо этого. -callbacks- Установите в значение true, чтобы вызвать обработчики helper beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для обработки отсутствующих элементов. Установите в значение true, чтобы не генерировать сообщения об ошибках.
Возвращает
строкаОтображенный элемент
elementExists()source public
elementExists( string $name )
Проверяет, существует ли элемент
Параметры
- строка
$name Имя файла шаблона в папке /app/View/Elements/ или
MyPlugin.templateдля проверки шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет использован каскадный поиск пути к шаблонам.
Возвращает
логическое значениеУспех
end()source public
end( )
Завершить блок захвата. Соответствует View::start()
См. также
ViewBlock::end()exists()source public
exists( string $name )
Проверить, существует ли блок
Параметры
- строка
$name - Имя блока
Возвращает
логическое значениеextend()source public
extend( string $name )
Обеспечивает расширение/наследование шаблонов или элементов. Шаблоны могут расширять родительский шаблон и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Шаблон или элемент для расширения текущего.
Исключения
LogicExceptionесли вы расширяете шаблон самим собой или создаете цикл расширений.
LogicException
если вы расширяете элемент, которого не существует
fetch()source public
fetch( string $name , string $default '' )
Получить содержимое блока. Если блок пустой или не определен, вернется ''
Параметры
- строка
$name - Имя блока
- строка
$defaultнеобязательно '' - Текстовое значение по умолчанию
Возвращает
строкаСодержимое блока или $default, если блок не существует.
См. также
ViewBlock::get()get()source public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
- смешанный
$defaultнеобязательно null - Значение по умолчанию/резервное значение для $var.
Возвращает
смешанныйСодержимое заданной переменной, если она определена, иначе $default.
getCurrentType()source public
getCurrentType( )
Получить текущий тип представления
Возвращает
строкаgetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера CakeEventManager, обрабатывающий любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события контроллера или для создания собственных событий и их запуска по своему усмотрению.
Возвращает
CakeEventManagergetVar()source public
getVar( string $var )
Возвращает содержимое заданной переменной представления(ий)
Устарело
3.0.0 Будет удалено в версии 3.0. Используйте View::get() вместо этого.Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
Возвращает
смешанныйСодержимое заданной переменной, если она определена, иначе null.
getVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления
Возвращает
массивМассив имен установленных переменных представления.
loadHelper()source public
loadHelper( string $helperName , array $settings array() )
Загружает хелпер. Делегирует загрузку хелпера в HelperCollection::load()
Параметры
- строка
$helperName - Имя хелпера для загрузки.
- массив
$settingsнеобязательно массив() - Настройки для хелпера
Возвращает
Helperобъект построенного хелпера.
См. также
HelperCollection::load()pluginSplit()source public
pluginSplit( string $name , boolean $fallback true )
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку
Параметры
- строка
$name - Имя плагина, которое нужно разделить.
- булево
$fallbackнеобязательно true - Если true, использует плагин, установленный в текущем CakeRequest, когда загруженный плагин не найден
Возвращает
массивМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value null )
Добавляет в начало существующего или нового блока. Добавление в начало нового блока создаст этот блок.
Параметры
- строка
$name - Имя блока
- смешанный
$valueнеобязательно null - Содержимое блока.
См. также
ViewBlock::concat()renderCache()source public
renderCache( string $filename , string $timeStart )
Отобразить кэшированное представление. Работает совместно с CacheHelper и Dispatcher для отображения кэшированных файлов представления.
Параметры
- строка
$filename - файл кэша для включения
- строка
$timeStart - время начала рендеринга страницы
Возвращает
логическое значениеУспех отображения кэшированного файла.
renderLayout()source public
renderLayout( string $content , string $layout null )
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Для использования в макете создаются несколько переменных.
-
title_for_layout- Заглушка обратной совместимости, вы должны задать это значение, если хотите иметь больше контроля. -
content_for_layout- содержит отрендеренный файл представления -
scripts_for_layout- Содержит контент, добавленный с помощью addScript(), а также любой контент в блоках «meta», «css» и «script». Они добавляются в указанном порядке.
Устаревшие функции:
-
$scripts_for_layoutустарела и будет удалена в CakePHP 3.0. Используйте вместо неё функции блоков.meta,cssиscriptбудут заполнены соответствующими методами HtmlHelper. -
$title_for_layoutустарела и будет удалена в CakePHP 3.0. Используйте вместо неё блокtitle. -
$content_for_layoutустарела и будет удалена в CakePHP 3.0. Используйте вместо неё блокcontent.
Параметры
- строка
$content - Содержимое для рендеринга в представлении, заключенное в окружающий макет.
- строка
$layoutнеобязательно null - Имя макета
Возвращает
смешанныйОтрендеренный вывод или false при ошибке
Выбрасывает
CakeExceptionесли в представлении произошла ошибка.
Вызывает
View.beforeLayout $this, array($layoutFileName)View.afterLayout $this, array($layoutFileName)
set()source public
set( string|array $one , string|array $two null )
Позволяет шаблону или элементу установить переменную, которая будет доступна в макете или другом элементе. Аналогично Controller::set().
Параметры
- строка/массив
$one - Строка или массив данных.
- строка/массив
$twoнеобязательно null Значение, если $one — строка (которая затем используется в качестве ключа). Не используется, если $one — ассоциативный массив, в противном случае служит значениями для ключей $one.
start()source public
start( string $name )
Начать захват вывода для блока.
Параметры
- строка
$name - Имя блока для захвата.
См. также
ViewBlock::start()startIfEmpty()source public
startIfEmpty( string $name )
Начать захват вывода для блока, если он пустой
Параметры
- строка
$name - Имя блока для захвата.
См. также
ViewBlock::startIfEmpty()uuid()source public
uuid( string $object , string $url )
Генерирует уникальный, не случайный ID DOM для объекта, на основе типа объекта и целевого URL.
Параметры
- строка
$object - Тип объекта, например, «форма» или «ссылка»
- строка
$url - Целевой URL объекта
Возвращает
строкаМетоды, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'a
Это обеспечивает некоторую DRY-магию, предоставляемую CakePHP. Если вы хотите её отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с ним.
- булево
$normalizeнеобязательно true - Установите значение в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего сценария. Оборачивает exit(), что облегчает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО-обёртку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно массив() - Список параметров для использования при вызове $method
Возвращаемое значение
mixedРезультат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы, см. CakeLog::write().
Параметры
- строка
$msg - Сообщение для журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Область(и), в которой создаётся сообщение для журнала. Для получения дополнительной информации о областях ведения журналов, см. CakeLog::config().
Возвращаемое значение
booleanУспешность записи в журнал
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любого расположения. Может быть использован для объединения контроллеров или связывания плагинов с основным приложением. requestAction может использоваться для возвращения отрисованных представлений или извлечения возвращаемого значения из действий контроллеров.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url Строковый или массивно-основанный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно массив() Если массив включает ключ "return", он устанавливает AutoRender в true. Также может быть использован для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
mixedБулевое значение true или false об успехе/неудаче или содержимое отрисованного действия, если 'return' установлен в $extra.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
© 2005–2016 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/2.9/class-XmlView.html