Класс RequestHandlerComponent
Объект запроса для обработки альтернативных HTTP-запросов
Альтернативные HTTP-запросы могут поступать от беспроводных устройств, таких как мобильные телефоны, карманные компьютеры и тому подобное. Эти устройства не используют Ajax-запросы, и этот компонент может указать, как Cake должен реагировать на различные потребности карманного компьютера и настольного компьютера.
- CakeObject
-
Компонент -
RequestHandlerComponent
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/request-handling.html
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/RequestHandlerComponent.php
Резюме свойств
-
$_inputTypeMapprotectedarrayСопоставление расширений и десериализаторов для тел запросов данного типа. По умолчанию сопоставлены только JSON и XML, используйте RequestHandlerComponent::addInputType()
-
$_renderTypeprotectedШаблон для отображения заданного типа содержимого.string -
$_viewClassMapprotectedarrayСопоставление типа и viewClass. По умолчанию сопоставлены только JSON и XML, используйте RequestHandlerComponent::viewClassMap()
-
$ajaxLayoutpublicМакет, который будет переключен для Ajax-запросовstring -
$enabledpublicОпределяет, будут ли вызываться обратные вызовы в этом компонентеboolean -
$extpublicСодержит расширение файла, разобранное маршрутизаторомstring - Содержит ссылку на Controller::$request
$requestpublic - Содержит ссылку на Controller::$response
$responsepublic
Наследуемые свойства
Резюме методов
- __construct() publicКонструктор. Парсит принимаемые типы контента, указанные клиентом через HTTP_ACCEPT
- _setExtension() protected
Устанавливает расширение на основе заголовков accept. Сравнивает принимаемые типы и настроенные расширения. Если существует один общий тип, он назначается как тип ext/content для ответа. Тип с наибольшим весом будет установлен. Если у типа с наибольшим весом несколько типов, соответствующих расширениям, порядок указанных расширений определяет, какой тип будет установлен.
Если html является одним из предпочтительных типов, тип контента не будет установлен, это для предотвращения проблем с браузерами, которые предпочитают html и несколько других типов контента.
- accepts() public
Определяет, какие типы контента принимает клиент. Принятие основано на расширении файла, обработанном маршрутизатором (если оно есть), и на заголовке HTTP_ACCEPT. В отличие от CakeRequest::accepts(), этот метод полностью работает с сопоставленными типами контента.
- addInputType() public
Добавляет новый сопоставленный тип входных данных. Сопоставленные типы входных данных автоматически преобразуются RequestHandlerComponent во время обратного вызова startup().
- beforeRedirect() public
Обрабатывает (имитирует) перенаправления для запросов Ajax, используя requestAction(). Изменяет $_POST и $_SERVER['REQUEST_METHOD'] для имитации нового запроса GET.
- beforeRender() public
Проверяет, может ли ответ считаться отличным в соответствии с заголовками запроса и заголовками кеширования ответа. Если он не изменялся, процесс рендеринга пропускается. И клиент получит пустой ответ со заголовком "304 Not Modified".
- convertXml() public
Вспомогательный метод для разбора входных данных xml, из-за отсутствия анонимных функций он находится здесь.
- getAjaxVersion() public
Возвращает версию Prototype, если вызов является Ajax, в противном случае пустую строку. Библиотека Prototype устанавливает специальный HTTP-заголовок "Версия Prototype".
- getClientIP() publicПолучает IP-адрес удалённого клиента
- getReferer() publicПолучает имя сервера, с которого был получен этот запрос
- initialize() public
Проверяет, было ли расширение файла обработано маршрутизатором, или если HTTP_ACCEPT_TYPE имеет соответствия только одному типу контента с поддерживаемыми расширениями. Если существует только один соответствующий тип среди поддерживаемых типов контента и расширений, и запрошенных типов MIME, RequestHandler::$ext устанавливается в это значение.
- isAjax() publicВозвращает true, если текущий HTTP-запрос является Ajax, в противном случае false
- isAtom() publicВозвращает true, если текущий вызов принимает ответ Atom, в противном случае false
- isDelete() publicВозвращает true, если текущий вызов – запрос DELETE
- isFlash() publicВозвращает true, если текущий HTTP-запрос исходит от клиента на основе Flash
- isGet() publicВозвращает true, если текущий вызов – запрос GET
- isMobile() public
Возвращает true, если строка пользовательского агента соответствует мобильному веб-браузеру или если клиент принимает WAP-контент.
- isPost() publicВозвращает true, если текущий вызов – запрос POST
- isPut() publicВозвращает true, если текущий вызов – запрос PUT
- isRss() publicВозвращает true, если текущий вызов принимает ответ RSS, в противном случае false
- isSSL() publicВозвращает true, если текущий запрос проходит по HTTPS, в противном случае false.
- isWap() publicВозвращает true, если клиент принимает WAP-контент
- isXml() publicВозвращает true, если текущий вызов принимает ответ XML, в противном случае false
- mapAlias() publicПреобразует псевдоним типа контента в MIME-тип(ы)
- mapType() publicПреобразует тип контента в псевдоним
- prefers() public
Определяет, какие типы контента предпочитает клиент. Если параметры не заданы, возвращается единственный тип контента, который клиент, скорее всего, предпочитает. Если $type – массив, возвращается первый элемент массива, который клиент принимает. Предпочтение определяется в первую очередь расширением файла, обработанным маршрутизатором, если оно указано, и во вторую очередь списком типов контента, указанных в HTTP_ACCEPT.
- renderAs() publicУстанавливает макет и пути шаблонов для типа контента, определённого $type.
- requestedWith() publicОпределяет тип контента данных, которые клиент отправил (например, в запросе POST)
- respondAs() public
Устанавливает заголовок ответа на основе имени индекса карты типов. Это оборачивает несколько методов, доступных в CakeResponse. Также позволяет использовать псевдонимы типов контента.
- responseType() publicВозвращает текущий тип ответа (заголовок Content-type) или null, если псевдоним не существует
- setContent() public
Добавляет/устанавливает тип(ы) контента для данного имени. Этот метод позволяет сопоставлять типы контента с удобными псевдонимами (или расширениями), что позволяет RequestHandler автоматически отвечать на запросы этого типа в методе startup.
- startup() public
Метод startup в RequestHandler позволяет реализовать несколько автоматических действий, связанных с обнаружением определённых свойств HTTP-запроса, включая:
- viewClassMap() publicГеттер/сеттер для viewClassMap
Подробное описание методов
__construct()source public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор. Парсит принимаемые типы контента, указанные клиентом через HTTP_ACCEPT
Параметры
-
ComponentCollection$collection - Объект ComponentCollection.
- массив
$settingsнеобязательно array() - Массив настроек.
Переопределяет
Component::__construct() _setExtension()source protected
_setExtension( )
Устанавливает расширение на основе заголовков accept. Сравнивает принимаемые типы и настроенные расширения. Если существует один общий тип, он назначается как тип ext/content для ответа. Тип с наибольшим весом будет установлен. Если у типа с наибольшим весом несколько типов, соответствующих расширениям, порядок указанных расширений определяет, какой тип будет установлен.
Если html является одним из предпочтительных типов, тип контента не будет установлен, это для предотвращения проблем с браузерами, которые предпочитают html и несколько других типов контента.
accepts()source public
accepts( string|array $type null )
Определяет, какие типы контента принимает клиент. Принятие основано на расширении файла, обработанном маршрутизатором (если оно есть), и на заголовке HTTP_ACCEPT. В отличие от CakeRequest::accepts(), этот метод полностью работает с сопоставленными типами контента.
Использование:
$this->RequestHandler->accepts(array('xml', 'html', 'json'));
Возвращает true, если клиент принимает любой из перечисленных типов.
$this->RequestHandler->accepts('xml');
Возвращает true, если клиент принимает xml.
Параметры
- строка|массив
$typeнеобязательно null Может быть null (или без параметра), строка имени типа или массив типов
Возвращает
mixedЕсли передан null или нет параметра, возвращает массив типов контента, которые принимает клиент. Если передана строка, возвращает true, если клиент принимает её. Если передан массив, возвращает true, если клиент принимает один или несколько элементов в массиве.
См. также
RequestHandlerComponent::setContent()addInputType()source public
addInputType( string $type , array $handler )
Добавить новый тип отображаемого входного значения. Отображаемые типы входных значений автоматически преобразуются компонентом RequestHandlerComponent во время обратного вызова startup().
Параметры
- строка
$type - Псевдоним типа, который преобразуется, например, json
- массив
$handler Массив обработчика для типа. Первый индекс должен быть обратным вызовом обработки, все другие аргументы должны быть дополнительными параметрами для обработчика.
Вызывает исключение
CakeExceptionbeforeRedirect()source public
beforeRedirect( Controller $controller , string|array $url , integer|array $status null , boolean $exit true )
Обрабатывает (имитирует) перенаправления для AJAX-запросов с помощью requestAction(). Изменяет $_POST и $_SERVER['REQUEST_METHOD'], чтобы смоделировать новый GET-запрос.
Параметры
-
Controller$controller - Ссылка на контроллер
- строка|массив
$url - Строка или массив, содержащий местоположение перенаправления
- целое число|массив
$statusнеобязательно null - HTTP-код состояния перенаправления
- логическое значение
$exitнеобязательно true - Выход из скрипта, по умолчанию
true.
Переопределяет
Component::beforeRedirect() beforeRender()source public
beforeRender( Controller $controller )
Проверяет, можно ли считать ответ другим в соответствии с заголовками запроса и заголовками кэширования ответа. Если он не был изменен, то процесс рендеринга пропускается. И клиент получит пустой ответ с заголовком «304 Not Modified».
Параметры
-
Controller$controller - Экземпляр контроллера.
Возвращает
booleanFalse, если процесс рендеринга следует прервать.
Переопределяет
Component::beforeRender() convertXml()source public
convertXml( string $xml )
Вспомогательный метод для парсинга входных данных XML, из-за отсутствия анонимных функций он находится здесь.
Параметры
- строка
$xml - Строка XML.
Возвращает
массивДанные массива XML
getAjaxVersion()source public
getAjaxVersion( )
Получает версию Prototype, если вызов является AJAX, иначе пустую строку. Библиотека Prototype устанавливает специальный HTTP-заголовок «Версия Prototype».
Возвращает
строка|booleanВерсия Prototype компонента, который выполняет вызов, если AJAX, иначе false
getClientIP()source public
getClientIP( boolean $safe true )
Получает IP-адрес удаленного клиента
Устарело
3.0.0 Используйте $this->request->clientIp() из вашего контроллера вместо этого.Параметры
- логическое значение
$safeнеобязательно true Используйте safe = false, если вы думаете, что пользователь может изменить свой заголовок HTTP_CLIENT_IP. Установка $safe = false также проверит HTTP_X_FORWARDED_FOR
Возвращает
строкаIP-адрес клиента
getReferer()source public
getReferer( )
Получает имя сервера, с которого был совершен этот запрос
Устарело
3.0.0 Используйте $this->request->referer() из вашего контроллера вместо этогоВозвращает
строкаАдрес сервера
initialize()source public
initialize( Controller $controller )
Проверяет, был ли расширение файла проанализирован роутером или если HTTP_ACCEPT_TYPE имеет совпадения только с одним типом содержимого с поддерживаемыми расширениями. Если между поддерживаемыми типами содержимого и расширениями, и запрошенными типами MIME существует только один соответствующий тип, RequestHandler::$ext устанавливается в это значение.
Параметры
-
Controller$controller - Ссылка на контроллер
См. также
Router::parseExtensions()Переопределяет
Component::initialize() isAjax()source public
isAjax( )
Возвращает true, если текущий HTTP-запрос является AJAX, в противном случае false
Устарело
3.0.0 Используйте$this->request->is('ajax') вместо этого.Возвращает
booleanTrue, если вызов является AJAX
isAtom()source public
isAtom( )
Возвращает true, если текущий вызов принимает ответ Atom, в противном случае false
Возвращает
booleanTrue, если клиент принимает ответ RSS
isDelete()source public
isDelete( )
Возвращает true, если текущий вызов является запросом DELETE
Устарело
3.0.0 Используйте $this->request->is('delete'); из вашего контроллера.Возвращает
booleanTrue, если вызов является DELETE
isFlash()source public
isFlash( )
Возвращает true, если текущий HTTP-запрос поступает от клиента на основе Flash, в противном случае false
Устарело
3.0.0 Используйте$this->request->is('flash') вместо этого.Возвращает
booleanTrue, если вызов поступает от Flash
isGet()source public
isGet( )
Возвращает true, если текущий вызов является запросом GET
Устарело
3.0.0 Используйте $this->request->is('get'); из вашего контроллера.Возвращает
booleanTrue, если вызов является GET
isMobile()source public
isMobile( )
Возвращает true, если строка user agent соответствует мобильному веб-браузеру или если клиент принимает WAP-содержимое.
Возвращает
booleanTrue, если строка user agent является мобильным веб-браузером
isPost()source public
isPost( )
Возвращает true, если текущий вызов является запросом POST
Устарело
3.0.0 Используйте $this->request->is('post'); из вашего контроллера.Возвращает
booleanTrue, если вызов является POST
isPut()source public
isPut( )
Возвращает true, если текущий вызов является запросом PUT
Устарело
3.0.0 Используйте $this->request->is('put'); из вашего контроллера.Возвращает
booleanTrue, если вызов является PUT
isRss()source public
isRss( )
Возвращает true, если текущий вызов принимает ответ RSS, в противном случае false
Возвращает
booleanTrue, если клиент принимает ответ RSS
isSSL()source public
isSSL( )
Возвращает true, если текущий запрос происходит по HTTPS, в противном случае false.
Устарело
3.0.0 Используйте$this->request->is('ssl') вместо этого.Возвращает
booleanTrue, если вызов происходит по HTTPS
isWap()source public
isWap( )
Возвращает true, если клиент принимает WAP-содержимое
Возвращает
booleanisXml()source public
isXml( )
Возвращает true, если текущий вызов принимает XML-ответ, в противном случае false
Возвращает
booleanTrue, если клиент принимает XML-ответ
mapAlias()source public
mapAlias( string|array $alias )
Сопоставляет псевдоним типа содержимого с его MIME-типом(ами)
Параметры
- string|array
$alias - Псевдоним строки для преобразования в тип содержимого. Или массив псевдонимов для сопоставления.
Возвращает
string|nullNull при неопределенном псевдониме. Строковое значение сопоставленного типа псевдонима. Если псевдоним отображается на более чем один тип содержимого, будет возвращен первый.
mapType()source public
mapType( string|array $cType )
Сопоставляет тип содержимого обратно с псевдонимом
Устарело
3.0.0 Используйте $this->response->mapType() в вашем контроллере вместо этого.Параметры
- string|array
$cType - Тип содержимого для сопоставления, либо массив типов.
Возвращает
string|arrayПсевдонимы для предоставленных типов.
prefers()source public
prefers( string|array $type null )
Определяет, какие типы содержимого предпочитает клиент. Если параметры не указаны, возвращается единственный тип содержимого, который клиент, скорее всего, предпочитает. Если $type является массивом, возвращается первый элемент массива, который клиент принимает. Предпочтение определяется в первую очередь расширением файла, проанализированным маршрутизатором, если оно предоставлено, и во вторую очередь списком типов содержимого, предоставленных в HTTP_ACCEPT.
Параметры
- string|array
$typeoptional null Необязательный массив «дружественных» имён типов содержимого, например, «html», «xml», «js» и т. д.
Возвращает
mixedЕсли $type равен null или не указан, возвращается первый тип содержимого в списке, в зависимости от предпочтения. Если предоставлен единственный тип, возвращается boolean, если этот тип предпочтительнее. Если предоставлен массив типов, возвращается первый предпочтительный тип. Если тип не указан, возвращается первый предпочтительный тип.
См. также
RequestHandlerComponent::setContent()renderAs()source public
renderAs( Controller $controller , string $type , array $options array() )
Устанавливает пути к макету и шаблону для типа содержимого, определенного $type.
Использование:
Отобразить ответ как ответ «ajax».
$this->RequestHandler->renderAs($this, 'ajax');
Отобразить ответ как XML-файл и принудительно сохранить результат как загружаемый файл.
$this->RequestHandler->renderAs($this, 'xml', array('attachment' => 'myfile.xml');
Параметры
-
Controller$controller - Ссылка на объект контроллера
- string
$type - Тип ответа для отправки (например: «ajax»)
- array
$optionsoptional array() - Массив параметров для использования
См. также
RequestHandlerComponent::setContent()RequestHandlerComponent::respondAs()
requestedWith()source public
requestedWith( string|array $type null )
Определяет тип содержимого данных, отправленных клиентом (например, в запросе POST)
Параметры
- string|array
$typeoptional null - Может быть null (или без параметра), строковое имя типа или массив типов
Возвращает
mixedЕсли предоставлен единственный тип, будет возвращён boolean. Если тип не указан, будет возвращено сопоставленное значение CONTENT_TYPE. Если предоставлен массив, будет возвращён первый тип в типе содержимого запроса.
respondAs()source public
respondAs( string|array $type , array $options array() )
Устанавливает заголовок ответа на основе имени индекса карты типов. Он оборачивает несколько методов, доступных в CakeResponse. Он также позволяет использовать псевдонимы типов содержимого.
Параметры
- string|array
$type Дружественное имя типа, например, «html» или «xml», или полный тип содержимого, например «application/x-shockwave».
- array
$optionsoptional array() Если $type — это дружественное имя типа, которое ассоциируется с более чем одним типом содержимого, $index используется для выбора типа содержимого для использования.
Возвращает
booleanВозвращает false, если дружественное имя типа, указанное в $type, не существует в карте типов или если заголовок Content-type уже был установлен этим методом.
См. также
RequestHandlerComponent::setContent()responseType()source public
responseType( )
Возвращает текущий тип ответа (заголовок Content-type) или null, если псевдоним не существует
Возвращает
mixedСтроковый псевдоним типа содержимого или сам тип содержимого, если карта псевдонимов не существует, в противном случае null
setContent()source public
setContent( string $name , string|array $type null )
Добавляет/устанавливает тип(ы) содержимого для данного имени. Этот метод позволяет сопоставлять типы содержимого с дружественными псевдонимами (или расширениями), что позволяет RequestHandler автоматически отвечать на запросы такого типа в методе startup.
Устарело
3.0.0 Используйте$this->response->type() вместо этого.Параметры
- string
$name - Имя типа содержимого, например «html», «xml», «css»
- string|array
$typeoptional null Тип содержимого или массив типов содержимого, назначенные имени, например «text/html» или «application/xml»
startup()source public
startup( Controller $controller )
Метод startup компонента RequestHandler включает в себя несколько автоматических действий, связанных с определением определенных свойств HTTP-запроса, в том числе:
- Отключение отрисовки макета для AJAX-запросов (на основе заголовка HTTP_X_REQUESTED_WITH)
- Если Router::parseExtensions() включен, тип макета и шаблона изменяются в зависимости от проанализированного расширения или заголовка Accept-Type. Например, если запрашивается
controller/action.xml, путь к представлению становитсяapp/View/Controller/xml/action.ctp. Также, еслиcontroller/actionзапрашивается сAccept-Type: application/xmlв заголовках, путь к представлению станетapp/View/Controller/xml/action.ctp. Типы макета и шаблона будут переключаться только на типы MIME, распознаваемые CakeResponse. Если вам нужно объявить дополнительные типы MIME, вы можете сделать это, используя CakeResponse::type() в методе beforeFilter() ваших контроллеров. - Если существует помощник с именем, совпадающим с именем расширения, он добавляется к контроллеру.
- Если расширение относится к типу, который RequestHandler понимает, он установит этот тип содержимого в заголовке ответа.
- Если XML-данные отправлены POST-методом, данные будут распарсены в XML-объект, который будет присвоен свойству $data контроллера, которое затем можно сохранить в объект модели.
Параметры
-
Controller$controller - Ссылка на контроллер
Переопределяет
Component::startup() viewClassMap()source public
viewClassMap( array|string $type null , array $viewClass null )
Геттер/сеттер для viewClassMap
Параметры
- array|string
$typeoptional null - Строка типа или массив с форматом
array('type' => 'viewClass')для сопоставления одного или нескольких - array
$viewClassoptional null - Класс представления, используемый для типа без добавленного
View
Возвращает
array|stringВозвращает viewClass, когда задан только строковый $type, иначе массив с viewClassMap
Methods inherited from Component
__get()source public
__get( string $name )
Магический метод для леничной загрузки $components.
Параметры
- string
$name - Имя компонента для получения.
Возвращает
mixedОбъект Component или null.
shutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом на браузер.
Параметры
-
Controller$controller - Контроллер с компонентами, которые нужно остановить
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownНаследуемые методы от 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 в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
Подробное описание свойств
$_inputTypeMapsource
protected массив
Сопоставление расширений и десериализаторов для тел запроса данного типа. По умолчанию сопоставляются только JSON и XML, используйте RequestHandlerComponent::addInputType().
array(
'json' => array('json_decode', true)
) $_renderTypesource
protected строка
Шаблон, используемый при рендеринге заданного типа контента.
null
$_viewClassMapsource
protected массив
Сопоставление типа и viewClass По умолчанию сопоставляются только JSON и XML, используйте RequestHandlerComponent::viewClassMap().
array(
'json' => 'Json',
'xml' => 'Xml'
) $ajaxLayoutsource
public строка
Макет, который будет переключен для Ajax-запросов
См. также
RequestHandler::setAjax()'ajax'
$extsource
public строка
Содержит расширение файла, разобранное Router
См. также
Router::parseExtensions()null
© 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-RequestHandlerComponent.html