Класс AppController
Контроллер приложения
Добавьте методы, относящиеся ко всему приложению, в класс ниже, ваши контроллеры унаследуют их.
- Объект
-
Контроллер реализует CakeEventListener -
AppController
Прямые подклассы
Ссылка: http://book.cakephp.org/2.0/ru/controllers.html#the-app-controller
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Controller/AppController.php
Наследованные магические свойства
Наследованные свойства
-
Components,View,_eventManager,_mergeParent,_responseClass,autoLayout,autoRender,cacheAction,components,ext,helpers,layout,layoutPath,methods,modelClass,modelKey,name,passedArgs,plugin,request,response,scaffold,uses,validationErrors,view,viewClass,viewPath,viewVars
Методы, унаследованные от Контроллера
__construct()исходный код public
__construct( CakeRequest $request null , CakeResponse $response null )
Конструктор.
Параметры
-
CakeRequest$requestнеобязательный null Объект запроса для этого контроллера. Может быть null для тестирования, но ожидается, что функции, использующие параметры запроса, не будут работать.
-
CakeResponse$responseнеобязательный null - Объект ответа для этого контроллера.
Переопределяет
Object::__construct() __get()исходный код public
__get( string $name )
Обеспечивает обратную совместимость доступа к свойствам объекта запроса. Также предоставляет псевдоним params.
Параметры
- string
$name - Имя запрашиваемого значения
Возвращает
mixedЗапрашиваемое значение для допустимых переменных/псевдонимов, иначе null
__isset()исходный код public
__isset( string $name )
Обеспечивает обратную совместимость, чтобы избежать проблем с пустыми и isset свойствами. Откладывает загрузку моделей, используя метод loadModel(), если они объявлены в $uses
Параметры
- string
$name - Имя свойства для проверки.
Возвращает
boolean__set()исходный код public
__set( string $name , mixed $value )
Обеспечивает обратную совместимость доступа для установки значений в объект запроса.
Параметры
- string
$name - Имя свойства для установки.
- mixed
$value - Значение для установки.
_afterScaffoldSave()исходный код protected
_afterScaffoldSave( string $method )
Псевдоним для afterScaffoldSave()
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- string
$method - Имя метода.
Возвращает
booleanСм. также
Controller::afterScaffoldSave()_afterScaffoldSaveError()исходный код protected
_afterScaffoldSaveError( string $method )
Псевдоним для afterScaffoldSaveError()
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- string
$method - Имя метода.
Возвращает
booleanСм. также
Controller::afterScaffoldSaveError()_beforeScaffold()исходный код protected
_beforeScaffold( string $method )
Псевдоним для beforeScaffold()
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- string
$method - Имя метода.
Возвращает
booleanСм. также
Controller::beforeScaffold()_getScaffold()исходный код protected
_getScaffold( CakeRequest $request )
Возвращает объект scaffold для использования в динамически сгенерированных контроллерах.
Параметры
-
CakeRequest$request - Экземпляр запроса.
Возвращает
Scaffold_getViewObject()исходный код protected
_getViewObject( )
Создает экземпляр класса представления на основе свойства контроллера
Возвращает
View_isPrivateAction()исходный код protected
_isPrivateAction( ReflectionMethod $method , CakeRequest $request )
Проверяет, помечен ли метод запроса как закрытый, имеет ли он подчеркивание, или запрос пытается напрямую получить доступ к методу с префиксом.
Параметры
- ReflectionMethod
$method - Метод, который будет вызван.
-
CakeRequest$request - Запрос для проверки.
Возвращает
boolean_mergeControllerVars()исходный код protected
_mergeControllerVars( )
Объединить компоненты, помощники и переменные uses из Controller::$_mergeParent и PluginAppController.
_mergeUses()исходный код protected
_mergeUses( array $merge )
Вспомогательный метод для объединения свойства $uses.
Объединяет элементы, которые еще не присутствуют в $this->uses, в $this->uses.
Параметры
- array
$merge - Данные для объединения.
_parseBeforeRedirect()исходный код protected
_parseBeforeRedirect( mixed $response , string|array $url , integer $status , boolean $exit )
Обработать ответ перед переадресацией
Параметры
- mixed
$response - Ответ из обратного вызова перед переадресацией
- string|array
$url - То же значение, что и в перед переадресацией
- integer
$status - То же значение, что и в перед переадресацией
- boolean
$exit - То же значение, что и в перед переадресацией
Возвращает
arrayМассив с ключами url, status и exit
_scaffoldError()исходный код protected
_scaffoldError( string $method )
Псевдоним для scaffoldError()
Устарело
3.0.0 Будет удалено в 3.0.Параметры
- string
$method - Имя метода.
Возвращает
booleanСм. также
Controller::scaffoldError()afterFilter()исходный код 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, которые будут использованы методом redirect.
Ссылка
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() для получения дополнительной информации). Загружает компоненты и подготавливает их к инициализации.
Возвращает
смешанный типtrue, если модели найдены и экземпляр создан.
Выбрасывает
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 - Экземпляр запроса.
Возвращает
смешанный типРезультирующий ответ.
Выбрасывает
PrivateActionExceptionКогда действия не являются публичными или начинаются с _
MissingActionExceptionКогда действия не определены и scaffolding не включен.
loadModel()source public
loadModel( string $modelClass null , integer|string $id null )
Загружает и инициализирует модели, необходимые для этого контроллера. Если модель не существует, будет выброшено исключение об отсутствии таблицы базы данных, так как CakePHP на данный момент генерирует динамические модели.
Параметры
- строка
$modelClassнеобязательно null - Имя класса модели для загрузки
- целое число/строка
$idнеобязательно null - Начальный идентификатор, который должна иметь инициализированная модель класса
Возвращает
booleanИстина, если модель найдена
Исключения
MissingModelExceptionесли класс модели не может быть найден.
paginate()source public
paginate( Model|string $object null , string|array $scope array() , array $whitelist array() )
Обрабатывает автоматическую постраничную навигацию записей модели.
Параметры
-
Model|строка$objectнеобязательно null - Модель для постраничной навигации (например: экземпляр модели, или 'Модель', или 'Модель.ВложеннаяМодель')
- строка|массив
$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необязательно 'И' - Оператор булевой логики SQL: И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ и т. д.
- логическое значение
$exclusiveнеобязательно ложь Если значение истинно, и $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необязательно истина - Если значение истинно, после перенаправления будет вызван exit()
Возвращает
Cake\Network\Response|nullВызывает
Controller.beforeRedirect $this, массив($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необязательно ложь - Если значение истинно, 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 и т.д.
Возвращает
booleanУспех
Ссылка
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 Новое действие, на которое производится 'перенаправление'. Любые другие параметры, переданные в этот метод, будут переданы как параметры новому действию.
Возвращает
mixedВозвращает возвращаемое значение вызываемого действия
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Возвращает
integerКоличество ошибок
validateErrors()source public
validateErrors( )
Проверяет модели, переданные в качестве параметров. Принимает список моделей в качестве переменного аргумента. Пример:
$errors = $this->validateErrors($this->Article, $this->User);
Устаревший
3.0.0 Этот метод будет удален в версии 3.0Возвращает
arrayОшибки проверки или false, если ошибок нет
Методы, унаследованные от 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( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringИмя этого класса
© 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-AppController.html