Spec-Zone.ru › CakePHP 2.8

Класс 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 или строку, чтобы указать имя пользовательского параметра строки запроса, который будет содержать имя функции обратного вызова.

Объект
Extended by Представление
Extended by JsonView
Пакет: Cake\Представление
С момента: CakePHP(tm) v 2.1.0
Авторское право: Copyright (c) Cake Software Foundation, Inc. (http://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()

Методы, унаследованные от Представления

__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 optional null
Имя макета для поиска.

Возвращает

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

Исключение

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

_getViewFileName()source protected

_getViewFileName( string $name null )

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

Параметры

string $name optional null
Действие контроллера для поиска файла шаблона.

Возвращает

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

Исключение

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

_paths()source protected

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

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

Параметры

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

Возвращает

array
Пути

_render()source protected

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

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

Параметры

string $viewFile
Имя файла шаблона
array $data optional 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 optional null
Содержимое добавляемого скрипта, необязательно.

См. также

View::start()

append()source public

append( string $name , mixed $value null )

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

Параметры

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

Возвращает

boolean

extend()source public

extend( string $name )

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

Параметры

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

Исключение

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

fetch()source public

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

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

Параметры

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

Возвращает

строка
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, обрабатывающий любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям контроллера или создания собственных событий и их запуска по своему усмотрению.

Возвращает

CakeEventManager

getVar()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, массив($layoutFileName)
View.afterLayout $this, массив($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 объекта.

Возвращает

строка

Методы, унаследованные от Object

_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( )

Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.

Возвращает

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

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

$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.
http://api.cakephp.org/2.8/class-JsonView.html

Spec-Zone.ru

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