Класс 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
-
View
-
XmlView
С момента: CakePHP(tm) v 2.1.0
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://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,viewPath,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() Методы, унаследованные от View
__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) в виде строки. Имена действий с использованием CamelCase будут преобразованы в нижний регистр с разделителем подчеркивания! Это означает, что у вас могут быть имена действий LongActionNames, которые ссылаются на шаблоны long_action_names.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 )
Отображает элемент и вызывает события before и 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( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См. также
ViewBlock::keys()element()source public
element( string $name , array $data array() , array $options array() )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Реализует концепцию элементов (или «частичных макетов»), и массив $params используется для передачи данных, которые будут использованы в элементе. Элементы могут кэшироваться, что улучшает производительность, используя cache опцию.
Параметры
- string
$name Имя файла шаблона в папке /app/View/Elements/, или
MyPlugin.templateдля использования элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведен поиск по стандартному пути представления.- array
$dataoptional array() - Массив данных, которые должны быть доступны для отображаемого представления (т.е. элемента).
- array
$optionsoptional array() Массив опций. Возможные ключи: -
cache- Может бытьtrue, для включения кэширования с использованием конфигурации в View::$elementCache. Или массив. Если массив, следующие ключи могут быть использованы: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксаться сelement_-plugin- (устарело!) Загружает элемент из определенного плагина. Эта опция устарела и будет удалена в CakePHP 3.0. ИспользуйтеPlugin.element_nameвместо этого. -callbacks- Устанавливается в true, чтобы вызывать колбэки beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для обработки отсутствующих элементов. Устанавливается в true, чтобы не генерировать уведомления.
Возвращает
stringОтображенный элемент
elementExists()source public
elementExists( string $name )
Проверяет, существует ли элемент.
Параметры
- string
$name Имя файла шаблона в папке /app/View/Elements/, или
MyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведен поиск по стандартному пути представления.
Возвращает
booleanУспех
end()source public
end( )
Завершить блок захвата. Комплементарная функция к View::start()
См. также
ViewBlock::end()exists()source public
exists( string $name )
Проверка существования блока.
Параметры
- string
$name - Имя блока
Возвращает
booleanextend()source public
extend( string $name )
Предоставляет расширение/наследование представления или элемента. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- string
$name - Представление или элемент, с которым необходимо «расширить» текущее.
Исключение
LogicExceptionпри расширении представления с самим собой или создании циклов расширения.
LogicException
при расширении элемента, который не существует
fetch()source public
fetch( string $name , string $default '' )
Извлечь содержимое блока. Если блок пуст или не определен, будет возвращено «».
Параметры
- string
$name - Имя блока
- string
$defaultoptional '' - Значение по умолчанию
Возвращает
stringсодержимое блока или $default, если блок не существует.
См. также
ViewBlock::get()get()source public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
- смешанный
$defaultнеобязательно null - Значение по умолчанию/fallback для переменной $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 )
Генерирует уникальный, не случайный идентификатор DOM для объекта, основанный на типе объекта и целевом URL.
Параметры
- строка
$object - Тип объекта, например 'форма' или 'ссылка'
- строка
$url - Целевой URL объекта
Возвращает
строкаМетоды унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'
Это обеспечивает часть DRY-магии CakePHP. Если вы хотите её отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имена свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет задать несколько свойств объекта в одной строке кода. Будут установлены только те свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_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необязательно array() - Список параметров для использования при вызове $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необязательно array() Если массив содержит ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудаче или содержимое рендереных действий, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
Подробности свойств
© 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/2.10/class-XmlView.html