Класс 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
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
С версии: CakePHP(tm) v 2.1.0
Расположение: Cake/View/XmlView.php
Подробное описание методов
__constructисходный код public
__construct( Controller $controller null )
Конструктор
Параметры
-
Controller$controllerнеобязательно null - Экземпляр контроллера.
Переопределяет
View::__construct() _serializeисходный код protected
_serialize( array $serialize )
Сериализация переменных представления.
Специальные параметры
_xmlOptions Вы можете задать массив пользовательских опций для Xml::fromArray() таким образом, например, 'format' как 'attributes' вместо 'tags'.
Параметры
- массив
$serialize - Переменные представления, которые нужно сериализовать.
Возвращает
stringСериализированные данные
loadHelpersисходный код public
loadHelpers( )
Пропустить загрузку помощников, если это представление на основе _serialize.
Переопределяет
View::loadHelpers() renderисходный код public
render( string $view null , string $layout null )
Отображение XML-представления.
Использует специальный параметр «_serialize» для преобразования набора переменных представления в XML-ответ. Это значительно упрощает создание простых XML-ответов. Вы можете опустить параметр «_serialize» и использовать обычное представление + макет.
Параметры
- строка
$viewнеобязательно null - Представление, которое отображается.
- строка
$layoutнеобязательно null - Макет, который отображается.
Возвращает
stringОтображаемое представление.
Выбрасывает
CakeExceptionЕсли в представлении возникла ошибка.
Переопределяет
View::render() Методы, унаследованные от Представление
__getисходный код public
__get( string $name )
Магический аксессор для помощников. Предоставляет доступ к атрибутам, которые устарели.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
mixedсмешанное
__issetисходный код public
__isset( string $name )
Магическая проверка isset для устаревших атрибутов.
Параметры
- строка
$name - Имя атрибута для проверки.
Возвращает
booleanбулево
__setисходный код public
__set( string $name , mixed $value )
Магический аксессор для устаревших атрибутов.
Параметры
- строка
$name - Имя атрибута для установки.
- смешанное
$value - Значение атрибута для установки.
Возвращает
mixedсмешанное
_elementCacheисходный код protected
_elementCache( string $name , string $data , array $options )
Проверяет, кэширован ли элемент, и возвращает кэшированные данные, если они есть.
Параметры
- строка
$name - Имя элемента
- строка
$data - Данные
- массив
$options - Опции элемента
Возвращает
string|nullстрока|null
_evaluateисходный код protected
_evaluate( string $viewFile , array $dataForView )
Метод-песочница для оценки шаблона/скрипта представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView - Данные для включения в рендерное представление. Если пусто, используются текущие View::$viewVars.
Возвращает
stringРезультат рендеринга
_getElementFileNameисходный код protected
_getElementFileName( string $name )
Находит имя файла элемента, возвращает false при неудаче.
Параметры
- строка
$name - Имя элемента для поиска.
Возвращает
mixedСтрока имени файла элемента или false, если файл не найден.
_getExtensionsисходный код protected
_getExtensions( )
Получение расширений, которые могут использовать файлы представлений.
Возвращает
arrayМассив расширений, которые используют файлы представлений.
_getLayoutFileNameисходный код protected
_getLayoutFileName( string $name null )
Возвращает имя файла макета для этого шаблона в виде строки.
Параметры
- строка
$nameнеобязательно null - Имя макета для поиска.
Возвращает
stringИмя файла макета (.ctp).
Выбрасывает
MissingLayoutExceptionЕсли макет не найден
_getViewFileNameисходный код protected
_getViewFileName( string $name null )
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с заглавными буквами преобразуются в нижний регистр! Это означает, что вы можете иметь имена действий с заглавными буквами, которые относятся к представлениям long_action_names.ctp.
Параметры
- строка
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
stringИмя файла шаблона
Выбрасывает
MissingViewExceptionЕсли файл представления не найден.
_pathsисходный код protected
_paths( string $plugin null , boolean $cached true )
Возвращает все возможные пути для поиска файлов представлений в порядке.
Параметры
- строка
$pluginнеобязательно null - Необязательное имя плагина для сканирования файлов представлений.
- булево
$cachedнеобязательно true - Установите в false, чтобы принудительно обновить пути к представлениям. По умолчанию true.
Возвращает
arrayпути
_rendersource protected
_render( string $viewFile , array $data array() )
Отображает и возвращает вывод для заданного файла представления с его массивом данных. Обрабатывает родительские/расширенные представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataнеобязательно массив() - Данные для включения в отображаемое представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
stringВыводимый результат
Выбрасывает
CakeExceptionпри оставлении блока открытым.
Вызывает
View.beforeRenderFile $this, array($viewFile)View.afterRenderFile $this, array($viewFile, $content)
_renderElementsource protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и вызывает обратные вызовы before и afterRender для него, записывает в кэш, если используется кэш
Параметры
- строка
$file - Путь к файлу элемента
- массив
$data - Данные для отображения
- массив
$options - Параметры элемента
Возвращает
stringстрока
Вызывает
View.beforeRender $this, array($file)View.afterRender $this, array($file, $element)
addScriptsource public
addScript( string $name , string $content null )
Добавляет блок скрипта или другой элемент для вставки в $scripts_for_layout в <head /> макета документа
Устарело
3.0.0 Будет удалено в 3.0. Заменено функциональностью блоков.Параметры
- строка
$name - Имя ключа для скрипта или содержимое скрипта. Имя может использоваться для обновления/замены элемента скрипта.
- строка
$contentнеобязательно null - Содержимое добавляемого скрипта, необязательно.
См.
View::start()appendsource public
append( string $name , mixed $value null )
Добавить к существующему или новому блоку. Добавление в новый блок создаст блок.
Параметры
- строка
$name - Имя блока
- смешанный
$valueнеобязательно null - Содержимое блока.
См.
ViewBlock::concat()assignsource public
assign( string $name , mixed $value )
Установить содержимое для блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value - Содержимое блока.
См.
ViewBlock::set()blockssource public
blocks( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См.
ViewBlock::keys()elementsource public
element( string $name , array $data array() , array $options array() )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Это реализует концепцию элементов (или "частичных макетов"), и массив $params используется для передачи данных, которые будут использованы в элементе. Элементы можно кешировать, повышая производительность, используя опцию cache.
Параметры
- строка
$name - Имя файла шаблона в папке/app/View/Elements/ или
MyPlugin.templateдля использования шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет выполнен обычный поиск по пути к представлению. - массив
$dataнеобязательно массив() - Массив данных, которые нужно сделать доступными для отображаемого представления (т. е. элемента)
- массив
$optionsнеобязательно массив() - Массив параметров. Возможные ключи: -
cache- Может бытьtrue, чтобы включить кеширование с помощью конфигурации в View::$elementCache. Или массив. Если массив, можно использовать следующие ключи: -config- Используется для хранения кешированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксамиelement_-plugin- (устарело!) Загрузить элемент из определенного плагина. Этот параметр устарел и будет удален в CakePHP 3.0. ИспользуйтеPlugin.element_nameвместо него. -callbacks- Установите в true, чтобы запустить обратные вызовы помощников beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для разрешения отсутствия элементов. Установите в true, чтобы не вызывать уведомления.
Возвращает
stringОтображаемый элемент
elementExistssource public
elementExists( string $name )
Проверяет, существует ли элемент
Параметры
- строка
$name - Имя файла шаблона в папке /app/View/Elements/ или
MyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнен обычный поиск по пути к представлению.
Возвращает
booleanУспех
endsource public
end( )
Завершение захвата блока. Комплементарная View::start()
См.
ViewBlock::end()existssource public
exists( string $name )
Проверить, существует ли блок
Параметры
- строка
$name - Имя блока
Возвращает
booleanbool
extendsource public
extend( string $name )
Обеспечивает расширение/наследование представлений или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Представление или элемент, с которым нужно "расширить" текущее.
Выбрасывает
LogicExceptionпри расширении представления самим собой или создании циклов расширения.
LogicExceptionпри расширении элемента, который не существует
fetchsource public
fetch( string $name , string $default '' )
Извлечь содержимое для блока. Если блок пуст или не определен, вернется ''
Параметры
- строка
$name - Имя блока
- строка
$defaultнеобязательно '' - Текстовое значение по умолчанию
Возвращает
stringсодержимое блока или $default, если блок не существует.
См.
ViewBlock::get()getsource public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой требуется.
- смешанный
$defaultнеобязательно null - Значение по умолчанию/резервное значение для $var.
Возвращает
mixedСодержимое названной переменной, если она задана, иначе $default.
getCurrentTypesource public
getCurrentType( )
Получить текущий тип представления
Возвращает
stringстрока
getEventManagersource public
getEventManager( )
Возвращает экземпляр менеджера CakeEventManager, который обрабатывает любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям контроллера или создавать свои собственные события и вызывать их по своему желанию.
Возвращает
CakeEventManagerCakeEventManager
getVarsource public
getVar( string $var )
Возвращает содержимое заданной переменной (переменных) представления.
Устаревшее
3.0.0 Будет удалено в 3.0. Используйте View::get() вместо этого.Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
Возвращаемое значение
mixedСодержимое указанной переменной, если она задана, иначе null.
getVarssource public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления.
Возвращаемое значение
arrayМассив имен заданных переменных представления.
loadHelpersource public
loadHelper( string $helperName , array $settings array() )
Загружает помощник. Делегирует загрузку помощника HelperCollection::load().
Параметры
- строка
$helperName - Имя помощника для загрузки.
- массив
$settingsнеобязательно массив() - Настройки для помощника
Возвращаемое значение
HelperОбъект построенного помощника.
См. также
HelperCollection::load()pluginSplitsource public
pluginSplit( string $name , boolean $fallback true )
Разделяет имя плагина с синтаксисом точки на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку.
Параметры
- строка
$name - Имя плагина, которое нужно разделить.
- логическое значение
$fallbackнеобязательно true - Если true, использует плагин, заданный в текущем CakeRequest, когда загруженный плагин не найден.
Возвращаемое значение
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prependsource public
prepend( string $name , mixed $value null )
Добавляет в начало существующего или нового блока. Добавление в начало нового блока создаст блок.
Параметры
- строка
$name - Имя блока
- смешанное
$valueнеобязательно null - Содержимое блока.
См. также
ViewBlock::concat()renderCachesource public
renderCache( string $filename , string $timeStart )
Отображение кэшированного представления. Работает совместно с CacheHelper и Dispatcher для отображения кэшированных файлов представлений.
Параметры
- строка
$filename - Файл кэша для включения
- строка
$timeStart - Время начала рендеринга страницы
Возвращаемое значение
booleanУспешность рендеринга кэшированного файла.
renderLayoutsource 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 - Имя макета
Возвращаемое значение
mixedОтображенный результат или false при ошибке
Исключения
CakeExceptionесли при отображении возникла ошибка в представлении.
Вызывает
View.beforeLayout $this, массив($layoutFileName)View.afterLayout $this, массив($layoutFileName)
setsource public
set( string|array $one , string|array $two null )
Позволяет шаблону или элементу задать переменную, которая будет доступна в макете или другом элементе. Аналогично Controller::set().
Параметры
- строка|массив
$one - Строка или массив данных.
- строка|массив
$twoнеобязательно null - Значение в случае, если $one является строкой (которая в этом случае работает как ключ). Не используется, если $one является ассоциативным массивом, иначе служит значениями для ключей $one.
startsource public
start( string $name )
Начать захват вывода для 'блока'
Параметры
- строка
$name - Имя блока для захвата.
См. также
ViewBlock::start()startIfEmptysource public
startIfEmpty( string $name )
Начать захват вывода для 'блока', если он пуст.
Параметры
- строка
$name - Имя блока для захвата.
См. также
ViewBlock::startIfEmpty()uuidsource public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта на основе типа объекта и целевого URL.
Параметры
- строка
$object - Тип объекта, например 'форма' или 'ссылка'
- строка
$url - Целевой URL объекта
Возвращаемое значение
stringстрока
Методы, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это обеспечивает часть DRY-магии CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое значение
$normalizeнеобязательно true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будет устанавливать только свойства, являющиеся частью объявления класса.
Параметры
- массив
$propertiesнеобязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Обёртка exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО-обёртку для call_user_func_array.
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно массив() - Список параметров для использования при вызове $method
Возвращаемое значение
mixedВозвращает результат вызова метода
logsource 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Успешность записи в журнал
requestActionsource 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'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
stringИмя этого класса
Постоянные, унаследованные от View
TYPE_ELEMENT, TYPE_LAYOUT, TYPE_VIEW |
Резюме свойств
Свойства, унаследованные от View
$_currentsource
protected string
Текущий обрабатываемый файл представления. Используется для разрешения родительских файлов.
null $_currentTypesource
protected string
В данный момент выполняется рендеринг элемента. Используется для поиска родительских фрагментов для элементов.
'' $_eventManagersource
protected CakeEventManager
Экземпляр CakeEventManager, который используется этим объектом View для отправки внутренних событий. Обычно менеджер совместно используется с контроллером, поэтому можно регистрировать события представления в слое контроллера.
null $_eventManagerConfiguredsource
protected boolean
Была ли уже настроена система обработки событий для этого объекта
false $_parentssource
protected array
Имена представлений и их родителей, используемых с View::extend();
array() $_passedVarssource
protected array
Список переменных для сбора из связанного контроллера.
array( 'viewVars', 'autoLayout', 'ext', 'helpers', 'view', 'layout', 'name', 'theme', 'layoutPath', 'viewPath', 'request', 'plugin', 'passedArgs', 'cacheAction' )
$_stacksource
protected array
Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();
array() $autoLayoutsource
public boolean
Включает или выключает обычный режим CakePHP применения файлов макетов. Включен по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым представлениям.
true $cacheActionsource
public mixed
Используется для определения методов контроллера, которые будут кэшироваться.
See
Controller::$cacheActionfalse $elementCachesource
public string
Конфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этого параметра изменит конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
See
View::element()'default' $elementCacheSettingssource
public array
Настройки кэша элементов
See
View::_elementCache();View::_renderElement()array() $requestsource
public CakeRequest
Экземпляр объекта CakeRequest, который содержит информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
Магические свойства, унаследованные от View
$Cachesource
public CacheHelper
$Formsource
public FormHelper
$Htmlsource
public HtmlHelper
$Numbersource
public NumberHelper
$Paginatorsource
public PaginatorHelper
$Sessionsource
public SessionHelper
$Textsource
public TextHelper
$Timesource
public TimeHelper
© 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.7/class-XmlView.html