Spec-Zone.ru › CakePHP 2.8

Класс Controller

Класс контроллера приложения для организации бизнес-логики. Предоставляет базовые функции, такие как отображение представлений внутри макетов, автоматическую доступность моделей, перенаправление, обратные вызовы и многое другое.

Контроллеры должны предоставлять ряд методов «действия». Это публичные методы контроллера, которые не имеют префикса «_» и не являются частью Controller. Каждое действие служит конечной точкой для выполнения конкретного действия с ресурсом или набором ресурсов. Например: добавление или редактирование нового объекта или вывод списка объектов.

Вы можете получить доступ к параметрам запроса, используя $this->request. Объект запроса содержит все POST, GET и FILES, которые были частью запроса.

После выполнения необходимых действий контроллеры отвечают за создание ответа. Обычно это представление, сгенерированное из View, или, возможно, перенаправление на другое действие контроллера. В любом случае $this->response позволяет вам управлять всеми аспектами ответа.

Контроллеры создаются диспетчером на основе параметров запроса и маршрутизации. По умолчанию контроллеры и действия используют стандартные имена. Например, /posts/index отображается как PostsController::index(). Вы можете переопределить URL-адреса с помощью Router::connect().

Объект
Extended by Controller реализует CakeEventListener

Непосредственные подклассы

  • AppController

Косвенные подклассы

  • CakeErrorController
  • PagesController
Пакет: Cake\Controller
Ссылка: http://book.cakephp.org/2.0/ru/controllers.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Controller.php

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

  • $Components public
    ComponentCollection
    Экземпляр ComponentCollection, используемый для обработки обратных вызовов.
  • $View public
    View

    Экземпляр View, созданный во время отображения. Не будет задан до вызова Controller::render().

  • $_eventManager protected
    CakeEventManager

    Экземпляр CakeEventManager, используемый этим контроллером для отправки внутренних событий.

  • $_mergeParent protected
    string

    Имя класса родительского класса, который вы хотите объединить. Обычно это AppController, но вы можете объединить переменные с другим родительским классом.

  • $_responseClass protected
    string
    Имя класса для создания объекта ответа.
  • $autoLayout public
    boolean
    Устанавливается в true для автоматического отображения макета вокруг представлений.
  • $autoRender public
    boolean

    Устанавливается в true для автоматического отображения представления после логики действия.

  • $cacheAction public
    mixed

    Используется для определения методов контроллера, которые будут кэшированы. Для кэширования отдельного действия значение устанавливается в массив, содержащий ключи, соответствующие именам действий, и значения, обозначающие время истечения срока действия кэша (в секундах).

  • $components public
    array

    Массив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть «Component» имени класса.

  • $ext public
    string
    Расширение файла шаблонов представления. По умолчанию соответствует стандартному для CakePHP «.ctp».
  • $helpers public
    mixed

    Массив, содержащий имена помощников, используемых этим контроллером. Элементы массива не должны содержать части «Helper» имени класса.

  • $layout public
    string

    Имя файла макета, в котором будет отображаться представление. Указанное имя — имя файла макета в /app/View/Layouts без расширения .ctp.

  • $layoutPath public
    string
    Имя подкаталога макетов, содержащего макеты для этого контроллера.
  • $methods public
    array

    Содержит текущие методы контроллера. Это список всех методов, доступных через URL. Изменение этого массива позволит изменить доступные методы.

  • $modelClass public
    string

    Основное имя класса модели контроллера, результат применения Inflector::singularize() к свойству $name контроллера.

  • $modelKey public
    string
    Ключ имени модели контроллера, версия свойства $modelClass контроллера, преобразованная в нижний регистр с дефисами вместо пробелов.
  • $name public
    string
    Имя этого контроллера. Имена контроллеров являются множественными, названными по модели, которую они обрабатывают.
  • $passedArgs public
    mixed
    Содержит все переданные и именованные параметры.
  • $plugin public
    string
    Автоматически устанавливается в имя плагина.
  • $request public
    CakeRequest

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

  • $response public
    CakeResponse
    Экземпляр объекта CakeResponse, содержащий информацию о предстоящем ответе
  • $scaffold public
    mixed
    Вызывает Scaffolding
  • $uses public
    mixed
    Массив, содержащий имена классов моделей, используемых этим контроллером.
  • $validationErrors public
    array
    Содержит любые ошибки проверки, полученные в результате последнего вызова метода validateErrors().
  • $view public
    string

    Имя файла представления для отображения. Указанное имя — имя файла в /app/View/<подкаталог> без расширения .ctp.

  • $viewClass public
    string
    Имя класса View, которому этот контроллер отправляет вывод.
  • $viewPath public
    string
    Имя подкаталога представлений, содержащего представления для этого контроллера.
  • $viewVars public
    array
    Содержит переменные, которые передаются представлению.

Краткое описание магических свойств

  • $Acl public
    AclComponent
  • $Auth public
    AuthComponent
  • $Cookie public
    CookieComponent
  • $Email public
    EmailComponent
  • $Flash public
    FlashComponent
  • $Paginator public
    PaginatorComponent
  • $RequestHandler public
    RequestHandlerComponent
  • $Security public
    SecurityComponent
  • $Session public
    SessionComponent

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

  • __construct() public
    Конструктор.
  • __get() public

    Обеспечивает обратную совместимость доступа к свойствам объекта запроса. Также предоставляет псевдоним params.

  • __isset() public

    Обеспечивает обратную совместимость, чтобы избежать проблем с пустыми и isset-псевдонимами свойств. Загружает модели лениво с помощью метода loadModel(), если они объявлены в $uses

  • __set() public
    Обеспечивает обратную совместимость доступа для установки значений в объект запроса.
  • _afterScaffoldSave() protected
    Псевдоним для afterScaffoldSave()
  • _afterScaffoldSaveError() protected
    Псевдоним для afterScaffoldSaveError()
  • _beforeScaffold() protected
    Псевдоним для beforeScaffold()
  • _getScaffold() protected
    Возвращает объект scaffolding для динамически генерируемых контроллеров.
  • _getViewObject() protected
    Создает экземпляр класса представления на основе свойства контроллера
  • _isPrivateAction() protected

    Проверяет, помечен ли action запроса как private (с подчеркиванием) или запрос пытается напрямую получить доступ к action с префиксом.

  • _mergeControllerVars() protected

    Объединяет компоненты, помощники и переменные uses из Controller::$_mergeParent и PluginAppController.

  • _mergeUses() protected
    Вспомогательный метод для объединения свойства $uses.
  • _parseBeforeRedirect() protected
    Парсит ответ перед перенаправлением.
  • _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

    Выполняет действие контроллера. Проверяет, существует ли action и не является ли он private.

  • loadModel() public

    Загружает и инициализирует модели, необходимые для этого контроллера. Если модель отсутствует, будет выброшено исключение об отсутствии таблицы базы данных, поскольку CakePHP временно генерирует динамические модели.

  • paginate() public
    Обрабатывает автоматическую постраничную навигацию записей модели.
  • postConditions() public
    Преобразует данные формы POST в массив условий модели, подходящий для использования в вызове Model::find().
  • redirect() public

    Перенаправляет на заданный $url после выключения $this->autoRender. Выполнение скрипта прекращается после перенаправления.

  • referer() public
    Возвращает URL, с которого был получен этот запрос.
  • render() public
    Создаёт экземпляр соответствующего класса представления, передаёт ему данные и использует его для рендеринга результата представления.
  • scaffoldError() public

    Этот метод должен быть переопределён в дочерних классах. В противном случае будет рендериться ошибка scaffold. Метод ДОЛЖЕН возвращать 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 optional null

Объект запроса для этого контроллера. Может быть null для тестирования, но ожидайте, что функции, использующие параметры запроса, не будут работать.

CakeResponse $response optional null
Объект ответа для этого контроллера.

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

Object::__construct()

__get()source public

__get( string $name )

Обеспечивает обратную совместимость доступа к свойствам объекта запроса. Также предоставляет псевдоним params.

Параметры

строка $name
Имя запрашиваемого значения

Возвращает

mixed
Запрашиваемое значение для допустимых переменных/псевдонимов, иначе null

__isset()source public

__isset( string $name )

Обеспечивает обратную совместимость, чтобы избежать проблем с пустыми и isset свойствами, а также алиасами свойств. Лениво загружает модели, используя метод loadModel(), если они объявлены в $uses

Параметры

строка $name
Имя свойства для проверки.

Возвращает

логическое значение

__set()source public

__set( string $name , mixed $value )

Обеспечивает обратную совместимость для установки значений в объект запроса.

Параметры

строка $name
Имя свойства для установки.
смешанный $value
Значение для установки.

_afterScaffoldSave()source protected

_afterScaffoldSave( string $method )

Псевдоним к afterScaffoldSave()

Устарело

3.0.0 Будет удалено в версии 3.0.

Параметры

строка $method
Имя метода.

Возвращает

логическое значение

См. также

Controller::afterScaffoldSave()

_afterScaffoldSaveError()source protected

_afterScaffoldSaveError( string $method )

Псевдоним к afterScaffoldSaveError()

Устарело

3.0.0 Будет удалено в версии 3.0.

Параметры

строка $method
Имя метода.

Возвращает

логическое значение

См. также

Controller::afterScaffoldSaveError()

_beforeScaffold()source protected

_beforeScaffold( string $method )

Псевдоним к beforeScaffold()

Устарело

3.0.0 Будет удалено в версии 3.0.

Параметры

строка $method
Имя метода.

Возвращает

логическое значение

См. также

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
Запрос для проверки.

Возвращает

логическое значение

_mergeControllerVars()source protected

_mergeControllerVars( )

Объединяет переменные компонентов, хелперов и используемых классов из 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 )

Разбирает ответ beforeRedirect.

Параметры

смешанный $response
Ответ от обратного вызова beforeRedirect
строка/массив $url
То же значение, что и у beforeRedirect
целое число $status
То же значение, что и у beforeRedirect
логическое значение $exit
То же значение, что и у beforeRedirect

Возвращает

массив
Массив с ключами url, status и exit

_scaffoldError()source protected

_scaffoldError( string $method )

Псевдоним к scaffoldError()

Устарело

3.0.0 Будет удалено в версии 3.0.

Параметры

строка $method
Имя метода.

Возвращает

логическое значение

См. также

Controller::scaffoldError()

afterFilter()source public

afterFilter( )

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

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacks

afterScaffoldSave()source public

afterScaffoldSave( string $method )

Этот метод должен быть переопределён в дочерних классах.

Параметры

строка $method
имя метода, вызываемого либо edit, либо update.

Возвращает

логическое значение
Успех

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#callbacks

afterScaffoldSaveError()source public

afterScaffoldSaveError( string $method )

Этот метод должен быть переопределён в дочерних классах.

Параметры

строка $method
имя метода, вызываемого либо edit, либо update.

Возвращает

логическое значение
Успех

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#callbacks

beforeFilter()source public

beforeFilter( )

Вызывается перед выполнением действия контроллера. Вы можете использовать этот метод для конфигурирования и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacks

beforeRedirect()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-callbacks
END_OF_DOCUMENT_MARKER

beforeRender()source public

beforeRender( )

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

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#request-life-cycle-callbacks

beforeScaffold()source public

beforeScaffold( string $method )

Этот метод должен быть переопределён в дочерних классах.

Параметры

строка $method
имя вызываемого метода, например, index, edit и т. д.

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#callbacks

constructClasses()source public

constructClasses( )

Загружает классы моделей на основе свойства uses, см. Controller::loadModel(); для получения дополнительной информации. Загружает компоненты и подготавливает их к инициализации.

Возвращает

mixed
true, если модели найдены и экземпляр создан.

Выбрасывает

MissingModelException

См. также

Controller::loadModel()

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::constructClasses

disableCache()source public

disableCache( )

Запрещает кеширование результатов текущего запроса в браузере пользователя.

Устарело

3.0.0 Будет удалено в 3.0. Используйте CakeResponse::disableCache().

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::disableCache

flash()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-адрес или URL-адрес в формате массива для перенаправления после истечения времени
целое число $pause необязательно 1
Время отображения сообщения
строка $layout необязательно 'flash'
Используемый шаблон, по умолчанию 'flash'

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::flash

getEventManager()source public

getEventManager( )

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

Возвращает

CakeEventManager

header()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
Изначальный идентификатор, который должен иметь созданный экземпляр класса модели

Возвращает

boolean
True, если модель найдена

Выбрасывает

MissingModelException
Если класс модели не найден.

paginate()source public

paginate( Model|string $object null , string|array $scope array() , array $whitelist array() )

Обрабатывает автоматическую постраничную навигацию записей модели.

Параметры

Model|строка $object необязательно null
Модель для постраничной навигации (например: экземпляр модели или 'Модель' или 'Модель.ВложеннаяМодель')
строка|массив $scope необязательно array()
Условия для использования при постраничной навигации
массив $whitelist необязательно array()
Список разрешённых параметров для постраничной навигации

Возвращает

массив
Результаты запроса модели

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::paginate

postConditions()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 необязательно array()
Данные формы POST, организованные по модели и полю
строка|массив $op необязательно null

Строка, содержащая оператор SQL-сравнения, или массив, сопоставляющий операторы полям

строка $bool необязательно 'AND'
Оператор булевой логики SQL: AND, OR, XOR и т. д.
boolean $exclusive необязательно false

Если true, а $op — массив, поля, не включенные в $op, не будут включены в возвращаемые условия

Возвращает

массив|null
Массив условий модели

redirect()source public

redirect( string|array $url , integer|array|null $status null , boolean $exit true )

Перенаправляет на заданный $url после отключения $this->autoRender. Выполнение скрипта приостанавливается после перенаправления.

Параметры

string|array $url

Строка или массив, определяющий URL, указывающий на другую локацию внутри приложения или абсолютный URL

integer|array|null $status optional null
Код HTTP-статуса (например: 301). По умолчанию 302, если передано null.
boolean $exit optional true
Если true, после перенаправления будет вызван exit()

Возвращает

Cake\Network\Response|null

Триггеры

Controller.beforeRedirect $this, array($url, $status, $exit)

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::redirect

referer()source public

referer( string $default null , boolean $local false )

Возвращает URL ссылки, отправившей запрос.

Параметры

string $default optional null
URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков
boolean $local optional false
Если true, ссылки-источники будут ограничены локальным сервером

Возвращает

string
URL ссылки-источника

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::referer

render()source public

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

Создаёт правильный класс представления, передаёт ему данные и использует его для рендеринга вывода представления.

Параметры

string $view optional null
Представление для рендеринга
string $layout optional null
Шаблон макета

Возвращает

CakeResponse
Объект ответа, содержащий отрендеренное представление.

Триггеры

Controller.beforeRender $this

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#Controller::render

scaffoldError()source public

scaffoldError( string $method )

Этот метод следует переопределять в дочерних классах. В противном случае будет рендериться ошибка scaffold. Метод ОБЯЗАТЕЛЬНО должен возвращать true в дочерних классах.

Параметры

string $method
Имя вызываемого метода (например, index, edit и т.д.)

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#callbacks

set()source public

set( string|array $one , string|array $two null )

Сохраняет переменную для использования внутри шаблона представления.

Параметры

string|array $one
Строка или массив данных.
string|array $two optional null

Значение, если $one — строка (в этом случае строка работает как ключ). Не используется, если $one — ассоциативный массив, иначе используется как значения для ключей $one.

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#interacting-with-views

setAction()source public

setAction( string $action )

Внутреннее перенаправление одного действия на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect()

Примеры:

setAction('another_action');
setAction('action_with_parameters', $parameter1);

Параметры

string $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 $this

startupProcess()source public

startupProcess( )

Выполнение процесса запуска для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.

  • Инициализирует компоненты, вызывая их обратный вызов initialize
  • Вызывает метод контроллера beforeFilter.
  • вызывает методы компонентов startup.

Триггеры

Controller.initialize $this
Controller.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. Если вы хотите отключить её, переопределите этот метод как пустую функцию.

Параметры

array $properties
Имя свойств для объединения.
string $class
Класс для объединения свойства.
boolean $normalize optional true
Установите значение в true, чтобы выполнить нормализацию свойств с помощью Hash::normalize() перед объединением.

_set()source protected

_set( array $properties array() )

Позволяет устанавливать несколько свойств объекта в одной строке кода. Будут установлены только те свойства, которые являются частью объявления класса.

Параметры

array $properties optional array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stop()source protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

integer|string $status optional 0
см. http://php.net/exit для значений
END_OF_DOCUMENT_MARKER

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. Для данных GET используйте $extra['url']. Параметр $extra['data'] позволяет моделировать данные POST.

Параметры

строка|массив $url

URL, основанный на строке или массиве. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.

массив $extra необязательно array()

Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.

Возвращаемые значения

смешанный

Булево значение true или false при успехе/неудачи или содержимое рендеренного действия, если в $extra задан ключ 'return'.


toString()source public

toString( )

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

Возвращаемые значения

строка
Имя этого класса

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

$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-options
false

$componentssource

public массив

Массив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть "Component" имени класса.

Пример: public $components = array('Session', 'RequestHandler', 'Acl');

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html
array('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-uses
array()

$layoutsource

public строка

Имя файла макета, в котором должно отображаться представление. Указанное имя — имя файла макета в /app/View/Layouts без расширения .ctp.

'default'

$layoutPathsource

public строка

Имя подпапки макетов, содержащей макеты для этого контроллера.

null

$methodssource

public массив

Содержит текущие методы контроллера. Это список всех методов, доступных через URL. Изменение этого массива позволит изменить доступные методы.

array()

$modelClasssource

public строка

Основное имя класса модели для этого контроллера, версия, приведенная к единственному числительному с помощью Inflector::singularize(), из свойства $name контроллера.

Пример: Для контроллера с именем 'Комментарии' modelClass будет 'Комментарий'

null
END_OF_DOCUMENT_MARKER

$modelKeysource

public string

Ключ модели контроллера, имеющий подчеркнутое представление свойства $modelClass контроллера.

Пример: для контроллера с именем 'ArticleComments', моделью будет 'article_comment'.

null

$namesource

public string

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

Ссылка

http://book.cakephp.org/2.0/ru/controllers.html#controller-attributes
null

$passedArgssource

public mixed

Содержит все переданные и именованные параметры.

array()

$pluginsource

public string

Автоматически устанавливается в имя плагина.

null

$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

Вызывает Scaffolding.

Ссылка

http://book.cakephp.org/2.0/ru/controllers/scaffolding.html
false

$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-uses
true

$validationErrorssource

public array

Хранит любые ошибки валидации, полученные в результате последнего вызова метода validateErrors().

null

$viewsource

public string

Имя файла представления, которое нужно отобразить. Указанное имя - это имя файла в /app/View/<подпапка> без расширения .ctp.

null

$viewClasssource

public string

Имя класса представления, в который контроллер отправляет вывод.

'View'

$viewPathsource

public string

Имя подпапки представлений, содержащей представления для этого контроллера.

null

$viewVarssource

public array

Содержит переменные, которые нужно передать в представление.

array()

Подробное описание магических свойств

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

Spec-Zone.ru

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