Spec-Zone.ru › CakePHP 2.10

Класс Controller

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

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

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

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

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

CakeObject
Extended by Controller реализует CakeEventListener
Пакет: Cake\Controller
Ссылка: https://book.cakephp.org/2.0/en/controllers.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Controller.php

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

  • $Components public
    ComponentCollection
    Экземпляр ComponentCollection, используемый для обработки обратных вызовов.
  • $View public
    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

    Основное имя класса модели контроллера, версия, приведенная к единственному числительному, имени свойства контроллера $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
    Имя класса представления, которому этот контроллер отправляет вывод.
  • $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
    Возвращает объект эшафот для использования в динамически сгенерированных контроллерах.
  • _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 вызывается, когда вызывается метод redirect контроллера, но перед любыми дальнейшими действиями.

  • 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 optional null

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

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

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

CakeObject::__construct()

__get()source public

__get( string $name )

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

Параметры

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

Возвращает объект scaffolding для использования в динамически создаваемых контроллерах.

Параметры

CakeRequest $request
Экземпляр запроса.

Возвращает

Scaffold

_getViewObject()source protected

_getViewObject( )

Создаёт экземпляр класса представления на основе свойства контроллера

Возвращает

View

_isPrivateAction()source protected

_isPrivateAction( ReflectionMethod $method , CakeRequest $request )

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

Параметры

ReflectionMethod $method
Метод, который нужно вызвать.
CakeRequest $request
Запрос для проверки.

Возвращает

булево значение

_mergeControllerVars()source protected

_mergeControllerVars( )

Объединяет переменные компонентов, helpers и 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 )

Парсит ответ 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( )

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

Ссылка

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

afterScaffoldSave()source public

afterScaffoldSave( string $method )

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

Параметры

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

Возвращает

булево значение
Успех

Ссылка

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

afterScaffoldSaveError()source public

afterScaffoldSaveError( string $method )

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

Параметры

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

Возвращает

булево значение
Успех

Ссылка

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

beforeFilter()source public

beforeFilter( )

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

Ссылка

https://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 optional null
Необязательный HTTP-код состояния (например: 404)
булево значение $exit optional true
Если true, вызов exit() будет осуществлён после перенаправления

Возвращает

смешанный тип

false для остановки перенаправления, строка с новым URL для перенаправления или массив с ключами url, status и exit для использования методом redirect.


Ссылка

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

beforeRender()source public

beforeRender( )

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

Ссылка

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

beforeScaffold()source public

beforeScaffold( string $method )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

constructClasses()source public

constructClasses( )

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

Возвращает

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

Выбрасывает

MissingModelException

См. также

Controller::loadModel()

Ссылка

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

disableCache()source public

disableCache( )

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

Устарело

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

Ссылка

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

Ссылка

https://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
Изначальный ID, которым должен обладать экземпляр класса модели

Возвращает

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()
Список разрешенных опций для постраничной навигации

Возвращает

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

Ссылка

https://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'ed формы в массив условий модели, подходящий для вызова Model::find().

Устарело

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

Параметры

массив $data опционально array()
POST'ed данные, организованные по модели и полю
строка/массив $op опционально null

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

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

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

Возвращает

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

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()

Возвращает

CakeResponse|null

Вызывает

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

Ссылка

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

referer()source public

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

Возвращает URL, ссылающийся на текущий запрос.

Параметры

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

Возвращает

строка
URL ссылки

Ссылка

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

render()source public

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

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

Параметры

строка $view необязательно null
Представление для рендеринга
строка $layout необязательно null
Макет для использования

Возвращает

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

Вызывает

Controller.beforeRender $this

Ссылка

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

scaffoldError()source public

scaffoldError( string $method )

Этот метод должен быть переопределен в дочерних классах. В противном случае он отобразит ошибку шаблона. Метод ДОЛЖЕН возвращать true в дочерних классах

Параметры

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

Возвращает

булево
Успех

Ссылка

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

set()source public

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

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

Параметры

строка|массив $one
Строка или массив данных.
строка|массив $two необязательно null

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

Ссылка

https://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);

Параметры

строка $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 $this

startupProcess()source public

startupProcess( )

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

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

Вызывает

Controller.initialize $this
Controller.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 для значений
END_OF_DOCUMENT_MARKER

dispatchMethod()source public

dispatchMethod( string $method , array $params array() )

Вызывает метод данного объекта с заданными параметрами. Предоставляет оберточку ООП для call_user_func_array

Параметры

string $method
Имя вызываемого метода
array $params необязательно array()
Список параметров для вызова $method

Возвращает

mixed
Результат вызова метода

log()source public

log( string $msg , integer $type LOG_ERR , null|string|array $scope null )

Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в лог, см. CakeLog::write().

Параметры

string $msg
Сообщение для лога
integer $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|string|array $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.

Параметры

string|array $url

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

array $extra необязательно array()

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

Возвращает

mixed

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


toString()source public

toString( )

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

Возвращает

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

Подробности свойств

$Componentssource

public ComponentCollection

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

null

$Viewsource

public View

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

$_eventManagersource

protected CakeEventManager

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

null

$_mergeParentsource

protected string

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

'AppController'

$_responseClasssource

protected string

Имя класса, используемого для создания объекта ответа.

'CakeResponse'

$autoLayoutsource

public boolean

Установите в значение true, чтобы автоматически рендерить макет вокруг представлений.

true

$autoRendersource

public boolean

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

true

$cacheActionsource

public mixed

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

Пример:

public $cacheAction = array(
    'view/23/' => 21600,
    'recalled/' => 86400
);

$cacheAction также может быть установлен в строку, совместимую с strtotime(). Это помечает все действия в контроллере для кэширования представления.

Ссылка

https://book.cakephp.org/2.0/ru/core-libraries/helpers/cache.html#additional-configuration-options
false

$componentssource

public array

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

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

Ссылка

https://book.cakephp.org/2.0/ru/controllers/components.html
array('Session', 'Flash')

$extsource

public string

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

'.ctp'

$helperssource

public mixed

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

Пример: public $helpers = array('Html', 'Js', 'Time', 'Ajax');

Ссылка

https://book.cakephp.org/2.0/ru/controllers.html#components-helpers-and-uses
array()

$layoutsource

public string

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

'default'

$layoutPathsource

public string

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

null

$methodssource

public array

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

array()

$modelClasssource

public string

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

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

null
END_OF_DOCUMENT_MARKER

$modelKeysource

public string

Имя ключа модели контроллера, версия с нижними подчеркиваниями свойства $modelClass контроллера.

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

null

$namesource

public string

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

Ссылка

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

$passedArgssource

public mixed

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

array()

$pluginsource

public string

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

null

$requestsource

public CakeRequest

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

Ссылка

https://book.cakephp.org/2.0/ru/controllers/request-response.html#cakerequest

$responsesource

public CakeResponse

Экземпляр объекта CakeResponse, содержащего информацию о предстоящем ответе.

Ссылка

https://book.cakephp.org/2.0/ru/controllers/request-response.html#cakeresponse

$scaffoldsource

public mixed

Вызывает Scaffolding

Ссылка

https://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.

Ссылка

https://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–2017 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.10/class-Controller.html

Spec-Zone.ru

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