Spec-Zone.ru › CakePHP 2.10

Класс 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 Представление
Extended by JsonView
Пакет: Cake\Представление
С: CakePHP(tm) v 2.1.0
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: 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 необязательно ''
Текс по умолчанию

Возвращает

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

См. также

ViewBlock::get()

get()source public

get( string $var , mixed $default null )

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

Параметры

string $var
Переменная представления, содержимое которой нужно получить.
mixed $default необязательно null
Значение по умолчанию/fallback для $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 необязательно array()
Настройки для помощника

Возвращает

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

См. также

HelperCollection::load()

pluginSplit()source public

pluginSplit( string $name , boolean $fallback true )

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

Параметры

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

Возвращает

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

prepend()source public

prepend( string $name , mixed $value null )

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

Параметры

string $name
Имя блока
mixed $value необязательно 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 необязательно 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 необязательно 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 )

Генерирует уникальный, не случайный идентификатор 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–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-JsonView.html

Spec-Zone.ru

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