Spec-Zone.ru › CakePHP 2.9

Класс JsonView

Класс представления, используемый для ответов в формате JSON.

Установив ключ «_serialize» в вашем контроллере, вы можете указать переменную представления, которая должна быть сериализована в JSON и использована в качестве ответа на запрос. Это позволяет опустить представления и макеты, если вам нужно просто вывести одну переменную представления в качестве ответа в формате JSON.

В вашем контроллере вы можете сделать следующее:

$this->set(array('posts' => $posts, '_serialize' => 'posts'));

При отрисовке представления переменная представления $posts будет сериализована в JSON.

Вы также можете определить '_serialize' как массив. Это создаст объект верхнего уровня, содержащий все именованные переменные представления:

$this->set(compact('posts', 'users', 'stuff'));
$this->set('_serialize', array('posts', 'users'));

Это сгенерирует объект JSON, который выглядит следующим образом:

{"posts": [...], "users": [...]}

Если вы не используете ключ _serialize, вам потребуется представление. Вы можете использовать расширенные представления для предоставления функциональности, похожей на макеты.

Вы также можете включить поддержку JSONP, установив параметр _jsonp в значение true или строку, чтобы указать имя пользовательского параметра строки запроса, который будет содержать имя функции обратного вызова.

CakeObject
Extended by View
Extended by JsonView
Пакет: Cake\View
С версии: CakePHP(tm) v 2.1.0
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/View/JsonView.php

Унаследованные константы

  • TYPE_ELEMENT, TYPE_LAYOUT, TYPE_VIEW

Краткое описание свойств

  • $subDir public
    string

    Представления JSON всегда расположены в подкаталоге «json» для представлений контроллеров.

Унаследованные магические свойства

  • Blocks, Cache, Form, Html, Js, Number, Paginator, Rss, Session, Text, Time

Унаследованные свойства

  • 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
    Отрисовка представления в формате JSON.

Подробное описание методов

__construct()source public

__construct( Controller $controller null )

Конструктор

Параметры

Controller $controller необязательно null
Экземпляр контроллера.

Переопределяет

View::__construct()

_serialize()source protected

_serialize( array $serialize )

Сериализация переменных представления

Специальные параметры

_jsonOptions Таким образом, вы можете установить пользовательские параметры для json_encode(), например, JSON_HEX_TAG | JSON_HEX_APOS.

Параметры

массив $serialize
Переменные представления, которые необходимо сериализовать

Возвращает

строка
Сериализированные данные

Выбрасывает

CakeException

loadHelpers()source public

loadHelpers( )

Пропуск загрузки помощников, если это представление на основе _serialize.

Переопределяет

View::loadHelpers()

render()source public

render( string $view null , string $layout null )

Отрисовка представления в формате JSON.

Специальные параметры

_serialize Для преобразования набора переменных представления в ответ в формате JSON. Его значение может быть строкой для имени одной переменной или массивом для нескольких имен. Вы можете опустить параметр _serialize, а также использовать обычное представление + макет. _jsonp Включает поддержку JSONP и оборачивает ответ в функцию обратного вызова, предоставленную в строке запроса. - Установка в значение true включает параметр строки запроса по умолчанию «callback». - Установка в строковое значение использует предоставленный параметр строки запроса для поиска имени обратного вызова JSONP.

Параметры

строка $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( )

Получить расширения, которые могут использовать файлы представления.

Возвращает

массив
Массив расширений, используемых файлами представления.
END_OF_DOCUMENT_MARKER

_getLayoutFileName()source protected

_getLayoutFileName( string $name null )

Возвращает имя файла шаблона макета для данного шаблона в виде строки.

Параметры

string $name необязательный null
Имя макета для поиска.

Возвращает

string
Имя файла макета (.ctp).

Исключения

MissingLayoutException
если макет не найден

_getViewFileName()source protected

_getViewFileName( string $name null )

Возвращает имя файла шаблона заданного действия (.ctp) в виде строки. Имена действий с использованием CamelCase будут преобразовываться в нижний регистр с символом подчеркивания! Это означает, что вы можете использовать LongActionNames, которые будут ссылаться на шаблоны вида long_action_names.ctp.

Параметры

string $name необязательный null
Действие контроллера для поиска имени файла шаблона

Возвращает

string
Имя файла шаблона

Исключения

MissingViewException
если файл шаблона не найден.

_paths()source protected

_paths( string $plugin null , boolean $cached true )

Возвращает все возможные пути для поиска файлов шаблонов в определенном порядке

Параметры

string $plugin необязательный null
Необязательное имя плагина для поиска файлов шаблонов.
boolean $cached необязательный true
Установите в значение false, чтобы принудительно обновить пути к шаблонам. По умолчанию значение true.

Возвращает

array
Пути

_render()source protected

_render( string $viewFile , array $data array() )

Отображает и возвращает вывод для заданного имени файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.

Параметры

string $viewFile
Имя файла шаблона
array $data необязательный array()
Данные для включения в отображаемый шаблон. Если пусто, будут использоваться текущие View::$viewVars.

Возвращает

string
Отображенный вывод

Исключения

CakeException
если блок оставлен открытым.

Вызывает

View.beforeRenderFile $this, array($viewFile)
View.afterRenderFile $this, array($viewFile, $content)

_renderElement()source protected

_renderElement( string $file , array $data , array $options )

Отображает элемент и вызывает обратные вызовы before и afterRender для него и записывает в кэш, если кэш используется

Параметры

string $file
Путь к файлу элемента
array $data
Данные для отображения
array $options
Параметры элемента

Возвращает

string

Вызывает

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. Заменено функциональностью блоков.

Параметры

string $name

Имя ключа для скрипта или содержимое скрипта. Имя может быть использовано для обновления/замены элемента скрипта.

string $content необязательный null
Содержимое добавляемого скрипта, необязательно.

См. также

View::start()

append()source public

append( string $name , mixed $value null )

Добавляет к существующему или новому блоку. Добавление к новому блоку создаст блок.

Параметры

string $name
Имя блока
mixed $value необязательный null
Содержимое блока.

См. также

ViewBlock::concat()

assign()source public

assign( string $name , mixed $value )

Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.

Параметры

string $name
Имя блока
mixed $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 $data необязательный array()
Массив данных, которые должны быть доступны для отображаемого шаблона (т. е. элемента)
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, чтобы не генерировать сообщения об ошибках.

Возвращает

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
Имя блока

Возвращает

boolean

extend()source public

extend( string $name )

Обеспечивает расширение/наследование шаблонов или элементов. Шаблоны могут расширять родительский шаблон и заполнять блоки в родительском шаблоне.

Параметры

string $name
Шаблон или элемент, которым нужно расширить текущий.

Исключения

LogicException
если вы расширяете шаблон самому себе или создаете циклы расширения.
LogicException
если вы расширяете элемент, который не существует

fetch()source public

fetch( string $name , string $default '' )

Извлечь содержимое блока. Если блок пуст или не определён, возвращается ''.

Параметры

string $name
Имя блока
string $default optional ''
Текст по умолчанию

Возвращает

string
содержимое блока или $default, если блок не существует.

См. также

ViewBlock::get()

get()source public

get( string $var , mixed $default null )

Возвращает содержимое заданной переменной представления.

Параметры

string $var
Переменная представления, содержимое которой нужно получить.
mixed $default optional null
Значение по умолчанию/резервное значение для $var.

Возвращает

mixed
содержимое переменной, если она задана, иначе $default.

getCurrentType()source public

getCurrentType( )

Получить текущий тип представления

Возвращает

string

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера CakeEventManager, обрабатывающий любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события контроллера, или создавать свои собственные события и запускать их по своему усмотрению.

Возвращает

CakeEventManager

getVar()source public

getVar( string $var )

Возвращает содержимое заданной(ых) переменной(ых) представления.

Устарело

3.0.0 Будет удалено в 3.0. Используйте View::get() вместо этого.

Параметры

string $var
Переменная представления, содержимое которой нужно получить.

Возвращает

mixed
содержимое переменной, если она задана, иначе null.

getVars()source public

getVars( )

Возвращает список переменных, доступных в текущем контексте представления.

Возвращает

array
Массив имён установленных переменных представления.

loadHelper()source public

loadHelper( string $helperName , array $settings array() )

Загружает помощник. Делегирует HelperCollection::load() для загрузки помощника.

Параметры

string $helperName
Имя помощника для загрузки.
array $settings optional array()
Настройки помощника

Возвращает

Helper
объект помощника.

См. также

HelperCollection::load()

pluginSplit()source public

pluginSplit( string $name , boolean $fallback true )

Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку.

Параметры

string $name
Имя плагина, которое нужно разделить.
boolean $fallback optional true
Если true, используется плагин, заданный в текущем CakeRequest, когда загруженный плагин не найден.

Возвращает

array
Массив с 2 индексами. 0 => имя плагина, 1 => имя файла

prepend()source public

prepend( string $name , mixed $value null )

Добавляет в начало существующего или нового блока. Добавление в начало нового блока создаст блок.

Параметры

string $name
Имя блока
mixed $value optional null
Содержимое блока.

См. также

ViewBlock::concat()

renderCache()source public

renderCache( string $filename , string $timeStart )

Отобразить кэшированный вид. Работает совместно с CacheHelper и Dispatcher для отображения кэшированных файлов представления.

Параметры

string $filename
Файл кэша для включения
string $timeStart
Время начала рендеринга страницы

Возвращает

boolean
Успешность отображения кэшированного файла.

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 вместо этого.

Параметры

string $content
Содержимое для отображения в представлении, заключённое в окружающий макет.
string $layout optional null
Имя макета

Возвращает

mixed
Отрендеренный вывод или 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().

Параметры

string|array $one
Строка или массив данных.
string|array $two optional null

Значение, если $one — строка (которая затем работает как ключ). Не используется, если $one — ассоциативный массив, в противном случае служит значениями для ключей $one.

start()source public

start( string $name )

Начать захват вывода для 'блока'

Параметры

string $name
Имя блока для захвата.

См. также

ViewBlock::start()

startIfEmpty()source public

startIfEmpty( string $name )

Начать захват вывода для 'блока', если он пуст.

Параметры

string $name
Имя блока для захвата.

См. также

ViewBlock::startIfEmpty()

uuid()source public

uuid( string $object , string $url )

Генерирует уникальный, не случайный ID DOM для объекта, на основе типа объекта и целевого URL.

Параметры

string $object
Тип объекта, например 'форма' или 'ссылка'
string $url
Целевой URL объекта

Возвращает

string

Наследованные методы из 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 в строку. Каждый класс может переопределить этот метод по мере необходимости.

Возвращаемое значение

строка
Название этого класса

Подробное описание свойств

$subDirsource

public строка

Представления JSON всегда находятся в подкаталоге «json» для представлений контроллеров.

'json'

© 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-JsonView.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API