Класс Controller
Класс контроллера приложения для организации бизнес-логики. Предоставляет базовые функции, такие как вывод представлений внутри макетов, автоматическое доступность моделей, перенаправление, обратные вызовы и многое другое.
Контроллеры должны предоставлять ряд методов «действия». Это публичные методы контроллера, не имеющие префикса «_» и не являющиеся частью Controller. Каждое действие служит конечной точкой для выполнения определенного действия с ресурсом или набором ресурсов. Например: добавление или редактирование нового объекта или список объектов.
Вы можете получить доступ к параметрам запроса, используя $this->request. Объект запроса содержит все POST, GET и FILES, которые были частью запроса.
После выполнения необходимых действий контроллеры отвечают за создание ответа. Это обычно происходит в виде сгенерированного представления или, возможно, перенаправления на другое действие контроллера. В любом случае $this->response позволяет вам управлять всеми аспектами ответа.
Контроллеры создаются диспетчером на основе параметров запроса и маршрутизации. По умолчанию контроллеры и действия используют стандартные имена. Например, /posts/index отображается как PostsController::index(). Вы можете перенаправить URL-адреса, используя Router::connect().
- CakeObject
-
Controller реализует CakeEventListener
Ссылка: http://book.cakephp.org/2.0/ru/controllers.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Controller.php
Резюме свойств
- Экземпляр ComponentCollection, используемый для обработки обратных вызовов.
$Componentspublic -
$ViewpublicЭкземпляр представления, созданного во время рендеринга. Не будет установлен до вызова Controller::render().
-
$_eventManagerprotectedЭкземпляр CakeEventManager, используемый этим контроллером для отправки внутренних событий.
-
$_mergeParentprotectedstringИмя класса родительского класса, который вы хотите объединить. Обычно это AppController, но вы можете объединить переменные с другим родительским классом.
-
$_responseClassprotectedИмя класса для создания объекта ответа.string -
$autoLayoutpublicУстанавливается в true для автоматического рендеринга макета вокруг представлений.boolean -
$autoRenderpublicbooleanУстанавливается в true для автоматического рендеринга представления после логики действия.
-
$cacheActionpublicmixedИспользуется для определения методов контроллера, которые будут кэшироваться. Для кэширования отдельного действия значение устанавливается в массив, содержащий ключи, соответствующие именам действий, и значения, обозначающие время истечения срока действия кэша (в секундах).
-
$componentspublicarrayМассив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть "Component" имени класса.
-
$extpublicРасширение файла для шаблонов представлений. По умолчанию используется стандартное CakePHP ".ctp".string -
$helperspublicmixedМассив, содержащий имена используемых в этом контроллере хелперов. Элементы массива не должны содержать часть "Helper" имени класса.
-
$layoutpublicstringИмя файла макета для рендеринга представления внутри. Указанное имя — имя файла макета в /app/View/Layouts без расширения .ctp.
-
$layoutPathpublicИмя подпапки макетов, содержащей макеты для этого контроллера.string -
$methodspublicarrayСодержит текущие методы контроллера. Это список всех методов, доступных через URL. Изменение этого массива позволит вам изменить доступные методы.
-
$modelClasspublicstringОсновное имя класса модели этого контроллера, результат применения Inflector::singularize() к свойству $name контроллера.
-
$modelKeypublicКлюч модели этого контроллера, подчеркнутая версия свойства $modelClass контроллера.string -
$namepublicИмя этого контроллера. Имена контроллеров во множественном числе, названные в соответствии с моделью, которую они обрабатывают.string -
$passedArgspublicСодержит все переданные и именованные параметры.mixed -
$pluginpublicАвтоматически устанавливается в имя плагина.string -
$requestpublicЭкземпляр объекта CakeRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для считывания дополнительной информации о запросе.
- Экземпляр объекта CakeResponse, содержащий информацию о предстоящем ответе
$responsepublic -
$scaffoldpublicЗапускает Scaffoldingmixed -
$usespublicМассив, содержащий имена классов моделей, используемых этим контроллером.mixed -
$validationErrorspublicСодержит любые ошибки валидации, полученные после последнего вызова метода validateErrors().array -
$viewpublicstringИмя файла представления для рендеринга. Указанное имя — имя файла в /app/View/
без расширения .ctp. -
$viewClasspublicИмя класса представления, которому этот контроллер отправляет вывод.string -
$viewPathpublicИмя подпапки представлений, содержащей представления для этого контроллера.string -
$viewVarspublicСодержит переменные, передаваемые представлению.array
Резюме магических свойств
-
$Aclpublic -
$Authpublic -
$Cookiepublic -
$Emailpublic -
$Flashpublic -
$Paginatorpublic -
$RequestHandlerpublic -
$Securitypublic -
$Sessionpublic
Резюме методов
- __construct() publicКонструктор.
- __get() public
Обеспечивает обратную совместимость доступа к свойствам объекта запроса. Также предоставляет псевдоним params.
- __isset() public
Обеспечивает обратную совместимость, чтобы избежать проблем с пустыми и isset для псевдонимов свойств. Лениво загружает модели, используя метод loadModel(), если объявлен в $uses
- __set() publicОбеспечивает обратную совместимость доступа для установки значений в объект запроса.
- _afterScaffoldSave() protectedПсевдоним для afterScaffoldSave()
- _afterScaffoldSaveError() protectedПсевдоним для afterScaffoldSaveError()
- _beforeScaffold() protectedПсевдоним для beforeScaffold()
- _getScaffold() protectedВозвращает объект эшафот для использования в динамически сгенерированных контроллерах.
- _getViewObject() protectedСоздаёт экземпляр класса представления на основе свойства контроллера
- _isPrivateAction() protected
Проверяет, отмечена ли в запросе обработка как закрытая (подчёркиванием) или если запрос пытается получить доступ к обработке с префиксом.
- _mergeControllerVars() protected
Объединяет компоненты, помощники и переменные $uses из Controller::$_mergeParent и PluginAppController.
- _mergeUses() protectedВспомогательный метод для объединения свойства $uses.
- _parseBeforeRedirect() protectedОбработка ответа beforeRedirect.
- _scaffoldError() protectedПсевдоним для scaffoldError()
- afterFilter() publicВызывается после выполнения и обработки действия контроллера.
- afterScaffoldSave() publicЭтот метод должен быть переопределён в дочерних классах.
- afterScaffoldSaveError() publicЭтот метод должен быть переопределён в дочерних классах.
- beforeFilter() public
Вызывается перед выполнением действия контроллера. Вы можете использовать этот метод для настройки и персонализации компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
- beforeRedirect() public
Метод beforeRedirect вызывается при вызове метода перенаправления контроллера, но до выполнения каких-либо дальнейших действий.
- beforeRender() public
Вызывается после выполнения действия контроллера, но перед отрисовкой представления. Вы можете использовать этот метод для выполнения логики или установки переменных представления, необходимых для каждого запроса.
- beforeScaffold() publicЭтот метод должен быть переопределён в дочерних классах.
- constructClasses() public
Загружает классы моделей на основе свойства uses (см. Controller::loadModel(); для получения дополнительной информации). Загружает компоненты и подготавливает их к инициализации.
- disableCache() publicЗапрещает браузеру кешировать результаты текущего запроса.
- flash() public
Отображает сообщение пользователю в течение $pause секунд, а затем перенаправляет на $url. Использует flash.ctp в качестве шаблона для сообщения по умолчанию. Не работает, если текущий уровень отладки выше 0.
- getEventManager() public
Возвращает экземпляр менеджера CakeEventManager, обрабатывающего любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям контроллера или создавать свои собственные события и запускать их по своему усмотрению.
- header() publicМетод для удобства и обёртки объекта для CakeResponse::header().
- httpCodes() publicЗапрос и установка допустимых кодов и сообщений HTTP.
- implementedEvents() public
Возвращает список всех событий, которые будут срабатывать в контроллере в течение его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обратные вызовы слушателей.
- invokeAction() public
Выполняет действие контроллера. Проверяет, существует ли действие и не является ли оно закрытым.
- loadModel() public
Загружает и инициализирует модели, необходимые для этого контроллера. Если модель отсутствует, будет выброшено исключение об отсутствующей таблице базы данных, так как CakePHP в настоящее время генерирует динамические модели.
- paginate() publicОбрабатывает автоматическую постраничную навигацию записей модели.
- postConditions() publicПреобразует данные формы POST в массив условий модели, подходящий для использования в вызове Model::find().
- redirect() public
Перенаправляет на заданный $url после выключения $this->autoRender. После перенаправления выполнение скрипта останавливается.
- referer() publicВозвращает URL предыдущего запроса.
- render() publicИнициализирует правильный класс представления, передаёт ему данные и использует его для отрисовки результата представления.
- scaffoldError() public
Этот метод должен быть переопределён в дочерних классах. В противном случае он отобразит ошибку эшафотного шаблона. Метод ДОЛЖЕН возвращать true в дочерних классах
- set() publicСохраняет переменную для использования в шаблоне представления.
- setAction() publicВнутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect().
- setRequest() public
Устанавливает объект запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:
- shutdownProcess() public
Выполняет различные процессы завершения для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- startupProcess() public
Выполняет начальный процесс для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- validate() publicВозвращает количество ошибок в отправленной форме.
- validateErrors() public
Проверяет модели, переданные параметрами. Принимает список моделей в качестве аргумента. Пример:
Подробное описание метода
__construct()source public
__construct( CakeRequest $request null , CakeResponse $response null )
Конструктор.
Параметры
-
CakeRequest$requestнеобязательно null Объект запроса для этого контроллера. Может быть null для тестирования, но ожидайте, что функции, использующие параметры запроса, не будут работать.
-
CakeResponse$responseнеобязательно null - Объект ответа для этого контроллера.
Переопределяет
CakeObject::__construct() __get()source public
__get( string $name )
Обеспечивает обратную совместимость доступа к свойствам объекта запроса. Также предоставляет псевдоним params.
Параметры
- строка
$name - Имя запрашиваемого значения
Возвращает
смешанноеЗапрашиваемое значение для допустимых переменных/псевдонимов, в противном случае null
__isset()source public
__isset( string $name )
Обеспечивает обратную совместимость, чтобы избежать проблем с пустыми и isset свойствами, а также алиасы свойств. Лениво загружает модели, используя метод loadModel(), если они объявлены в $uses
Параметры
- строка
$name - Имя свойства для проверки.
Возвращает
boolean__set()source public
__set( string $name , mixed $value )
Обеспечивает обратную совместимость для установки значений в объект запроса.
Параметры
- строка
$name - Имя свойства для установки.
- смешанное
$value - Значение для установки.
_afterScaffoldSave()source protected
_afterScaffoldSave( string $method )
Псевдоним для afterScaffoldSave()
Устаревший
3.0.0 Будет удален в версии 3.0.Параметры
- строка
$method - Имя метода.
Возвращает
booleanСм. также
Controller::afterScaffoldSave()_afterScaffoldSaveError()source protected
_afterScaffoldSaveError( string $method )
Псевдоним для afterScaffoldSaveError()
Устаревший
3.0.0 Будет удален в версии 3.0.Параметры
- строка
$method - Имя метода.
Возвращает
booleanСм. также
Controller::afterScaffoldSaveError()_beforeScaffold()source protected
_beforeScaffold( string $method )
Псевдоним для beforeScaffold()
Устаревший
3.0.0 Будет удален в версии 3.0.Параметры
- строка
$method - Имя метода.
Возвращает
booleanСм. также
Controller::beforeScaffold()_getScaffold()source protected
_getScaffold( CakeRequest $request )
Возвращает объект scaffold для использования в динамически сгенерированных контроллерах.
Параметры
-
CakeRequest$request - Экземпляр объекта запроса.
Возвращает
Scaffold_getViewObject()source protected
_getViewObject( )
Создает экземпляр класса представления на основе свойства контроллера
Возвращает
View_isPrivateAction()source protected
_isPrivateAction( ReflectionMethod $method , CakeRequest $request )
Проверяет, помечен ли метод запроса как закрытый, с символом подчеркивания, или если запрос пытается напрямую получить доступ к префиксу действия.
Параметры
- ReflectionMethod
$method - Метод, который нужно вызвать.
-
CakeRequest$request - Запрос для проверки.
Возвращает
boolean_mergeControllerVars()source protected
_mergeControllerVars( )
Объединяет переменные компонентов, помощников и uses из Controller::$_mergeParent и PluginAppController.
_mergeUses()source protected
_mergeUses( array $merge )
Вспомогательный метод для объединения свойства $uses.
Объединяет элементы, которые еще не присутствуют в $this->uses, в $this->uses.
Параметры
- массив
$merge - Данные для объединения.
_parseBeforeRedirect()source protected
_parseBeforeRedirect( mixed $response , string|array $url , integer $status , boolean $exit )
Анализирует ответ перед перенаправлением
Параметры
- смешанное
$response - Ответ от обратного вызова beforeRedirect
- строка|массив
$url - То же значение, что и в beforeRedirect
- целое число
$status - То же значение, что и в beforeRedirect
- булево
$exit - То же значение, что и в beforeRedirect
Возвращает
массивМассив с ключами url, status и exit
_scaffoldError()source protected
_scaffoldError( string $method )
Псевдоним для scaffoldError()
Устаревший
3.0.0 Будет удален в версии 3.0.Параметры
- строка
$method - Имя метода.
Возвращает
booleanСм. также
Controller::scaffoldError()afterFilter()source public
afterFilter( )
Вызывается после выполнения и отрисовки действия контроллера.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacksafterScaffoldSave()source public
afterScaffoldSave( string $method )
Этот метод должен быть переопределен в дочерних классах.
Параметры
- строка
$method - Имя метода, вызываемого либо edit, либо update.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#callbacksafterScaffoldSaveError()source public
afterScaffoldSaveError( string $method )
Этот метод должен быть переопределен в дочерних классах.
Параметры
- строка
$method - Имя метода, вызываемого либо edit, либо update.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#callbacksbeforeFilter()source public
beforeFilter( )
Вызывается перед выполнением действия контроллера. Вы можете использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacksbeforeRedirect()source public
beforeRedirect( string|array $url , integer $status null , boolean $exit true )
Метод beforeRedirect вызывается при вызове метода redirect контроллера, но до любого дальнейшего действия.
Если этот метод возвращает false, контроллер не будет продолжать перенаправление запроса. Переменные $url, $status и $exit имеют то же значение, что и для метода контроллера. Вы также можете вернуть строку, которая будет интерпретироваться как URL для перенаправления, или вернуть ассоциативный массив с ключом 'url' и необязательно 'status' и 'exit'.
Параметры
- строка|массив
$url Строка или массив, представляющий URL, указывающий на другое место в приложении или абсолютный URL
- целое число
$statusнеобязательно null - Необязательный код HTTP-статуса (например: 404)
- булево
$exitнеобязательно true - Если true, после перенаправления будет вызвано exit()
Возвращает
смешанноеfalse, чтобы остановить перенаправление, строка — новый URL перенаправления или массив с ключами url, status и exit, которые будут использованы методом перенаправления.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacksbeforeRender()source public
beforeRender( )
Вызывается после выполнения действия контроллера, но перед отрисовкой представления. Вы можете использовать этот метод для выполнения логики или установки переменных представления, которые требуются для каждого запроса.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacksbeforeScaffold()source public
beforeScaffold( string $method )
Этот метод следует переопределять в дочерних классах.
Параметры
- строка
$method - имя вызываемого метода, например, index, edit и т. д.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#callbacksconstructClasses()source public
constructClasses( )
Загружает классы моделей на основе свойства uses, см. Controller::loadModel(); для получения дополнительной информации. Загружает компоненты и готовит их к инициализации.
Возвращает
mixedtrue, если модели найдены и экземпляр создан.
Выбрасывает
MissingModelExceptionСм. также
Controller::loadModel()Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::constructClassesdisableCache()source public
disableCache( )
Запрещает браузеру пользователя кешировать результаты текущего запроса.
Устарело
3.0.0 Будет удалено в 3.0. Используйте CakeResponse::disableCache().Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::disableCacheflash()source public
flash( string $message , string|array $url , integer $pause 1 , string $layout 'flash' )
Отображает сообщение пользователю на $pause секунд, затем перенаправляет на $url. Использует flash.ctp в качестве шаблона по умолчанию для сообщения. Не работает, если текущий уровень отладки выше 0.
Устарело
3.0.0 Будет удалено в 3.0. Используйте Flash::set() с версией 2.7+ или Session::setFlash() до 2.7.Параметры
- строка
$message - Сообщение для отображения пользователю
- строка|массив
$url - Относительный строковый или массивный URL для перенаправления после истечения времени
- целое число
$pauseнеобязательно 1 - Время отображения сообщения
- строка
$layoutнеобязательно 'flash' - Используемый шаблон, по умолчанию 'flash'
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::flashgetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера CakeEventManager, обрабатывающий любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов событий контроллера или для создания собственных событий и их запуска по мере необходимости.
Возвращает
CakeEventManagerheader()source public
header( string $status )
Удобный и объектно-ориентированный метод для CakeResponse::header().
Устарело
3.0.0 Будет удалено в 3.0. Используйте CakeResponse::header().Параметры
- строка
$status - Заголовок сообщения, который устанавливается.
httpCodes()source public
httpCodes( integer|array $code null )
Запрашивает и устанавливает допустимые HTTP коды ответов и сообщения.
Устарело
3.0.0 С версии 2.4. Будет удалено в 3.0. Используйте CakeResponse::httpCodes().Параметры
- целое число|массив
$codeнеобязательно null -
Если $code — целое число, то соответствующий код/сообщение возвращается, если он существует, null, если не существует. Если $code — массив, то ключи 'code' и 'message' каждого вложенного массива добавляются к стандартным HTTP кодам. Пример:
httpCodes(404); // returns array(404 => 'Not Found') httpCodes(array( 701 => 'Unicorn Moved', 800 => 'Unexpected Minotaur' )); // sets these new values, and returns true
Возвращает
массивАссоциативный массив HTTP кодов в качестве ключей и строк сообщений в качестве значений, или null, если заданный $code не существует.
implementedEvents()source public
implementedEvents( )
Возвращает список всех событий, которые будут активированы в контроллере в течение его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обратные вызовы-слушатели
Возвращает
массивРеализация
CakeEventListener::implementedEvents() invokeAction()source public
invokeAction( CakeRequest $request )
Вызывает действие контроллера. Проверяет, существует ли действие и не является ли оно закрытым.
Параметры
-
CakeRequest$request - Экземпляр запроса.
Возвращает
mixedРезультат ответа.
Выбрасывает
PrivateActionExceptionКогда действия не являются общедоступными или имеют префикс _
MissingActionExceptionКогда действия не определены и scaffolding не включен.
loadModel()source public
loadModel( string $modelClass null , integer|string $id null )
Загружает и создает экземпляры моделей, необходимых для данного контроллера. Если модель отсутствует, будет выброшено исключение об отсутствии таблицы базы данных, так как CakePHP на данный момент генерирует динамические модели.
Параметры
- строка
$modelClassнеобязательно null - Имя класса модели для загрузки
- целое число|строка
$idнеобязательно null - Начальный идентификатор, который должен иметь созданный экземпляр класса модели
Возвращает
booleanTrue, если модель была найдена
Выбрасывает
MissingModelExceptionесли класс модели не может быть найден.
paginate()source public
paginate( Model|string $object null , string|array $scope array() , array $whitelist array() )
Обрабатывает автоматическую постраничную навигацию по записям модели.
Параметры
-
Model|строка$objectнеобязательно null - Модель для постраничной навигации (например: экземпляр модели или 'Model', или 'Model.InnerModel')
- строка|массив
$scopeнеобязательно массив() - Условия, используемые при постраничной навигации
- массив
$whitelistнеобязательно массив() - Список разрешенных параметров для постраничной навигации
Возвращает
массивРезультаты запроса к модели
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::paginatepostConditions()source public
postConditions( array $data array() , string|array $op null , string $bool 'AND' , boolean $exclusive false )
Преобразует данные формы POST в массив условий модели, подходящий для вызова Model::find().
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- массив
$dataнеобязательно массив() - Данные POST, организованные по модели и полю
- строка|массив
$opнеобязательно null Строка, содержащая оператор SQL сравнения, или массив, сопоставляющий операторы полям
- строка
$boolнеобязательно 'AND' - Оператор булевых значений SQL: AND, OR, XOR и т. д.
- логическое значение
$exclusiveнеобязательно false Если true, и $op — массив, поля, не включенные в $op, не будут включены в возвращаемые условия
Возвращает
массив|nullМассив условий модели
redirect()source public
redirect( string|array $url , integer|array|null $status null , boolean $exit true )
Перенаправляет на указанный $url, после отключения $this->autoRender. Выполнение скрипта останавливается после перенаправления.
Параметры
- строка|массив
$url Строка или массивный URL, указывающий на другую локацию в приложении, или абсолютный URL
- целое число|массив|null
$statusнеобязательно null - HTTP код состояния (например: 301). По умолчанию 302, когда передается null.
- логическое значение
$exitнеобязательно true - Если true, после перенаправления будет вызвано exit()
Возвращает
Cake\Network\Response|nullСрабатывает
Controller.beforeRedirect $this, array($url, $status, $exit)Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::redirectreferer()source public
referer( string $default null , boolean $local false )
Возвращает URL, по которому был произведён данный запрос.
Параметры
- строка
$defaultнеобязательно null - URL по умолчанию, который будет использоваться, если HTTP_REFERER не может быть прочитан из заголовков.
- логическое значение
$localнеобязательно false - Если true, ограничивает URL ссылающихся страниц локальным сервером.
Возвращает
строкаURL ссылающейся страницы
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::refererrender()source public
render( string $view null , string $layout null )
Инициализирует правильный класс представления, передаёт ему данные и использует его для отображения результата.
Параметры
- строка
$viewнеобязательно null - Представление для рендеринга
- строка
$layoutнеобязательно null - Макет для использования
Возвращает
CakeResponseОбъект ответа, содержащий отрендеренное представление.
Вызывает
Controller.beforeRender $thisСсылка
http://book.cakephp.org/2.0/ru/controllers.html#Controller::renderscaffoldError()source public
scaffoldError( string $method )
Этот метод должен быть переопределён в дочерних классах. Если нет, будет отображено сообщение об ошибке scaffold. Метод ДОЛЖЕН возвращать true в дочерних классах.
Параметры
- строка
$method - имя вызванного метода, например, index, edit и т.д.
Возвращает
логическое значениеУспех
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#callbacksset()source public
set( string|array $one , string|array $two null )
Сохраняет переменную для использования внутри шаблона представления.
Параметры
- строка|массив
$one - Строка или массив данных.
- строка|массив
$twoнеобязательно null Значение в случае, если $one является строкой (в этом случае она работает как ключ). Не используется, если $one является ассоциативным массивом, в противном случае служит значениями для ключей $one.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#interacting-with-viewssetAction()source public
setAction( string $action )
Внутренне перенаправляет один метод на другой. Не производит дополнительный HTTP-запрос, в отличие от Controller::redirect()
Примеры:
setAction('another_action');
setAction('action_with_parameters', $parameter1); Параметры
- строка
$action Новый метод, на который осуществляется «перенаправление». Любые другие параметры, переданные в этот метод, будут переданы как параметры новому методу.
Возвращает
смешанный типВозвращает значение, возвращаемое вызванным методом
setRequest()source public
setRequest( CakeRequest $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:
- $this->request - В $request параметр
- $this->plugin - В $request->params['plugin']
- $this->view - В $request->params['action']
- $this->autoLayout - В false, если $request->params['bare']; установлен.
- $this->autoRender - В false, если $request->params['return'] == 1
- $this->passedArgs - В объединённые результаты params['named'] и params['pass]
Параметры
-
CakeRequest$request - Экземпляр запроса.
shutdownProcess()source public
shutdownProcess( )
Выполняет различные процессы завершения для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- вызывает обратный вызов компонента
shutdown. - вызывает метод контроллера
afterFilter.
Вызывает
Controller.shutdown $thisstartupProcess()source public
startupProcess( )
Выполняет процесс запуска для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- Инициализирует компоненты, что вызывает их
initializeобратный вызов - Вызывает метод контроллера
beforeFilter. - вызывает методы компонента
startup.
Вызывает
Controller.initialize $thisController.startup $this
validate()source public
validate( )
Возвращает количество ошибок в отправленной форме.
Устарело
3.0.0 Этот метод будет удален в версии 3.0Возвращает
целое числоКоличество ошибок
validateErrors()source public
validateErrors( )
Проверяет модели, переданные в качестве параметров. Принимает список моделей как переменные аргументы. Пример:
$errors = $this->validateErrors($this->Article, $this->User);
Устарело
3.0.0 Этот метод будет удален в версии 3.0Возвращает
массивОшибки проверки, или false, если ошибок нет
Методы, унаследованные от 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
Возвращает
смешанный типВозвращает результат вызова метода
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() для получения дополнительной информации об областях логирования.
Возвращает
логическое значениеУспех записи в журнал
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опционально массив() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
смешанноеБулево значение true или false при успехе/неудаче, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
$Componentssource
public ComponentCollection
Экземпляр ComponentCollection, используемый для обработки обратных вызовов.
null
$Viewsource
public View
Экземпляр View, созданный во время рендеринга. Будет установлен только после вызова Controller::render().
$_eventManagersource
protected CakeEventManager
Экземпляр CakeEventManager, используемый этим контроллером для отправки внутренних событий.
null
$_mergeParentsource
protected строка
Имя класса родительского класса, с которым вы хотите выполнить слияние. Обычно это AppController, но вы можете выполнить слияние переменных с другим родительским классом.
'AppController'
$_responseClasssource
protected строка
Имя класса, используемого для создания объекта ответа.
'CakeResponse'
$autoLayoutsource
public логическое значение
Установите в значение true, чтобы автоматически рендерить макет вокруг представлений.
true
$autoRendersource
public логическое значение
Установите в значение true, чтобы автоматически рендерить представление после логики действия.
true
$cacheActionsource
public смешанное
Используется для определения методов контроллера, которые будут кэшироваться. Чтобы кэшировать отдельное действие, значение устанавливается в массив, содержащий ключи, соответствующие именам действий, и значения, обозначающие время истечения кэша (в секундах).
Пример:
public $cacheAction = array(
'view/23/' => 21600,
'recalled/' => 86400
); $cacheAction также может быть установлен в строку, совместимую с strtotime(). Это отмечает все действия в контроллере для кэширования представлений.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/cache.html#additional-configuration-optionsfalse
$componentssource
public массив
Массив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть "Component" имени класса.
Пример: public $components = array('Session', 'RequestHandler', 'Acl');
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.htmlarray('Session', 'Flash') $extsource
public строка
Расширение файла шаблонов представления. По умолчанию соответствует общепринятому в CakePHP значению ".ctp".
'.ctp'
$helperssource
public смешанное
Массив, содержащий имена хелперов, используемых этим контроллером. Элементы массива не должны содержать часть "Helper" имени класса.
Пример: public $helpers = array('Html', 'Js', 'Time', 'Ajax');
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#components-helpers-and-usesarray()
$layoutsource
public строка
Имя файла макета, в который будет отрисовано представление. Указанное имя — это имя файла макета в /app/View/Layouts без расширения .ctp.
'default'
$methodssource
public массив
Содержит текущие методы контроллера. Это список всех методов, доступных через URL. Изменение этого массива позволит изменить доступные методы.
array()
$modelClasssource
public строка
Основное имя класса модели контроллера, полученное с использованием Inflector::singularize() от свойства $name контроллера.
Пример: для контроллера с именем 'Comments', modelClass будет 'Comment'
null
$modelKeysource
public строка
Имя ключа модели контроллера, полученное с использованием нижнего подчеркивания от свойства $modelClass контроллера.
Пример: для контроллера с именем 'ArticleComments', modelKey будет 'article_comment'
null
$namesource
public строка
Имя этого контроллера. Имена контроллеров — множественные, они основаны на модели, которую они обрабатывают.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#controller-attributesnull
$requestsource
public CakeRequest
Экземпляр объекта CakeRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
Ссылка
http://book.cakephp.org/2.0/ru/controllers/request-response.html#cakerequest$responsesource
public CakeResponse
Экземпляр объекта CakeResponse, содержащий информацию о предстоящем ответе
Ссылка
http://book.cakephp.org/2.0/ru/controllers/request-response.html#cakeresponse$scaffoldsource
public mixed
Вызывает создание Scaffold
Ссылка
http://book.cakephp.org/2.0/ru/controllers/scaffolding.htmlfalse
$usessource
public mixed
Массив, содержащий имена классов моделей, которые использует этот контроллер.
Пример: public $uses = array('Product', 'Post', 'Comment');
Может быть задано несколькими значениями, чтобы выразить разные варианты:
-
trueИспользовать стандартное склоненное имя модели. -
array()Использовать только модели, определенные в родительском классе. -
falseНе использовать вообще никаких моделей, не объединять с родительским классом. -
array('Post', 'Comment')Использовать только модели Post и Comment. Модели также будут объединены с родительским классом.
Значение по умолчанию: true.
Ссылка
http://book.cakephp.org/2.0/ru/controllers.html#components-helpers-and-usestrue
$validationErrorssource
public array
Содержит любые ошибки валидации, полученные в результате последнего вызова метода validateErrors().
null
$viewsource
public string
Имя файла представления для отрисовки. Указанное имя — имя файла в /app/View/<подпапка> без расширения .ctp.
null
$viewClasssource
public string
Имя класса представления, в который этот контроллер отправляет вывод.
'View'
$viewPathsource
public string
Имя подпапки представлений, содержащей представления для этого контроллера.
null
Подробное описание магических свойств
$Aclsource
public AclComponent
$Authsource
public AuthComponent
$Cookiesource
public CookieComponent
$Emailsource
public EmailComponent
$Flashsource
public FlashComponent
$Paginatorsource
public PaginatorComponent
$RequestHandlersource
public RequestHandlerComponent
$Securitysource
public SecurityComponent
$Sessionsource
public SessionComponent
© 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-Controller.html