Spec-Zone.ru › CakePHP 2.7

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

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

__constructисходный код public

__construct( Controller $controller null )

Конструктор

Параметры

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

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

View::__construct()

_serializeисходный код protected

_serialize( array $serialize )

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

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

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

Параметры

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

Возвращает

string
Сериализованные данные

Выбрасывает

CakeException
CakeException

loadHelpersисходный код public

loadHelpers( )

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

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

View::loadHelpers()

renderисходный код public

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

Отображение JSON-представления.

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

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

Параметры

строка $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 необязательно array()
Данные для включения в отрисованное представление. Если пусто, будут использованы текущие View::$viewVars.

Возвращает

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

Выбрасывает

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

Вызывает

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

_renderElementsource protected

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

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

Параметры

строка $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 необязательно 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, чтобы не вызывать сообщения об ошибках.

Возвращает

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

Возвращает

boolean
bool

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
Значение по умолчанию/fallback содержимого $var.

Возвращает

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

getCurrentTypesource public

getCurrentType( )

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

Возвращает

string
строка

getEventManagersource public

getEventManager( )

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

Возвращает

CakeEventManager
CakeEventManager
END_OF_DOCUMENT_MARKER

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 необязательный array()
Настройки для помощника.

Возвращает

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, array($layoutFileName)
View.afterLayout $this, array($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 необязательный array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_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 необязательный array()
Список параметров для использования при вызове $method

Возвращает

mixed
Возвращает результат вызова метода
END_OF_DOCUMENT_MARKER

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

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

$subDirsource

public строка

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

'json'

Свойства, унаследованные от View

$Blockssource

public ViewBlock

Экземпляр ViewBlock.

$Helperssource

public HelperCollection

Коллекция Helpers

$_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'
)

$_pathssource

protected array

Содержит массив путей.

array()

$_pathsForPluginsource

protected array

Содержит массив путей плагинов.

array()

$_scriptssource

protected array

Скрипты (и/или другие теги <head />) для макета.

array()

$_stacksource

protected array

Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();

array()

$autoLayoutsource

public boolean

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

true

$cacheActionsource

public mixed

Используется для определения методов контроллера, которые будут кэшироваться.

See

Controller::$cacheAction
false

$elementCachesource

public string

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

See

View::element()
'default'

$elementCacheSettingssource

public array

Настройки кэша элементов

See

View::_elementCache();
View::_renderElement()
array()

$extsource

public string

Расширение файла. По умолчанию используется шаблон CakePHP ".ctp".

'.ctp'

$hasRenderedsource

public boolean

True, когда представление было отображено.

false

$helperssource

public mixed

Массив имен встроенных вспомогательных средств для включения.

array()

$layoutsource

public string

Имя макета для использования с этим представлением.

'default'

$layoutPathsource

public string

Путь к макету.

null

$namesource

public string

Имя контроллера.

null

$passedArgssource

public mixed

Текущие переданные параметры

array()

$pluginsource

public string

Имя плагина.

Link

http://manual.cakephp.org/chapter/plugins
null

$requestsource

public CakeRequest

Экземпляр объекта CakeRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.

$responsesource

public CakeResponse

Ссылка на объект Response

$themesource

public string

Имя темы.

null

$uuidssource

public array

Список сгенерированных UUID DOM.

array()

$validationErrorssource

public array

Содержит текущие ошибки валидации модели.

array()

$viewsource

public string

Имя представления для использования с этим представлением.

null

$viewPathsource

public string

Путь к представлению.

null

$viewVarssource

public array

Переменные для представления

array()

Свойства-маги, унаследованные от View

$Blockssource

public ViewBlock

$Cachesource

public CacheHelper

$Formsource

public FormHelper

$Htmlsource

public HtmlHelper

$Jssource

public JsHelper

$Numbersource

public NumberHelper

$Paginatorsource

public PaginatorHelper

$Rsssource

public RssHelper

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

Spec-Zone.ru

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