Класс 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, вам потребуется представление. Вы можете использовать расширенные представления для обеспечения функциональности макета.
- Объект
-
Представление -
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,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() таким образом, например, 'формат' как 'атрибуты' вместо 'тегов'.
Параметры
- массив
$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) в виде строки. Имена действий с использованием 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( )
Получить имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
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, чтобы вызвать обратные вызовы 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необязательно array() - Настройки помощника
Возвращает
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 объекта
Возвращает
строкаМетоды, унаследованные от Объект
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта с $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( )
Преобразование объекта в строку. Каждый класс может переопределять этот метод по мере необходимости.
Возвращает
stringИмя этого класса
Подробное описание свойств
© 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.
http://api.cakephp.org/2.8/class-XmlView.html