Spec-Zone.ru › CakePHP 2.9

Класс Controller

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

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

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

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

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

CakeObject
Extended by Controller реализует CakeEventListener
Пакет: 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

    Экземпляр представления, созданного во время рендеринга. Не будет установлен до вызова 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
    Имя класса представления, которому этот контроллер отправляет вывод.
  • $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 вызывается при вызове метода перенаправления контроллера, но до выполнения каких-либо дальнейших действий.

  • beforeRender() public

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

  • beforeScaffold() public
    Этот метод должен быть переопределён в дочерних классах.
  • constructClasses() public

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

  • disableCache() public
    Запрещает браузеру кешировать результаты текущего запроса.
  • flash() public

    Отображает сообщение пользователю в течение $pause секунд, а затем перенаправляет на $url. Использует flash.ctp в качестве шаблона для сообщения по умолчанию. Не работает, если текущий уровень отладки выше 0.

  • getEventManager() public

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

  • header() public
    Метод для удобства и обёртки объекта для CakeResponse::header().
  • httpCodes() public
    Запрос и установка допустимых кодов и сообщений HTTP.
  • implementedEvents() public

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

  • invokeAction() public

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

  • loadModel() public

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

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

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

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

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

  • set() public
    Сохраняет переменную для использования в шаблоне представления.
  • setAction() public
    Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect().
  • setRequest() public

    Устанавливает объект запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:

  • shutdownProcess() public

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

  • startupProcess() public

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

  • validate() public
    Возвращает количество ошибок в отправленной форме.
  • validateErrors() public

    Проверяет модели, переданные параметрами. Принимает список моделей в качестве аргумента. Пример:

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

__construct()source public

__construct( CakeRequest $request null , CakeResponse $response null )

Конструктор.

Параметры

CakeRequest $request необязательно null

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

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

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

CakeObject::__construct()

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

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

__isset()source public

__isset( string $name )

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

Параметры

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

Возвращает

boolean

__set()source public

__set( string $name , mixed $value )

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

Параметры

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

_afterScaffoldSave()source protected

_afterScaffoldSave( string $method )

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

Устаревший

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

Параметры

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

Возвращает

boolean

См. также

Controller::afterScaffoldSave()

_afterScaffoldSaveError()source protected

_afterScaffoldSaveError( string $method )

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

Устаревший

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

Параметры

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

Возвращает

boolean

См. также

Controller::afterScaffoldSaveError()

_beforeScaffold()source protected

_beforeScaffold( string $method )

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

Устаревший

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

Параметры

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

Возвращает

boolean

См. также

Controller::beforeScaffold()

_getScaffold()source protected

_getScaffold( CakeRequest $request )

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

Параметры

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

Возвращает

Scaffold

_getViewObject()source protected

_getViewObject( )

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

Возвращает

View

_isPrivateAction()source protected

_isPrivateAction( ReflectionMethod $method , CakeRequest $request )

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

Параметры

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

Возвращает

boolean

_mergeControllerVars()source protected

_mergeControllerVars( )

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

_mergeUses()source protected

_mergeUses( array $merge )

Вспомогательный метод для объединения свойства $uses.

Объединяет элементы, которые еще не присутствуют в $this->uses, в $this->uses.

Параметры

массив $merge
Данные для объединения.

_parseBeforeRedirect()source protected

_parseBeforeRedirect( mixed $response , string|array $url , integer $status , boolean $exit )

Анализирует ответ перед перенаправлением

Параметры

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

Возвращает

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

_scaffoldError()source protected

_scaffoldError( string $method )

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

Устаревший

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

Параметры

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

Возвращает

boolean

См. также

Controller::scaffoldError()

afterFilter()source public

afterFilter( )

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

Ссылка

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

afterScaffoldSave()source public

afterScaffoldSave( string $method )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

afterScaffoldSaveError()source public

afterScaffoldSaveError( string $method )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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


Ссылка

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

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 для перенаправления после истечения времени
целое число $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
Модель для постраничной навигации (например: экземпляр модели или 'Model', или 'Model.InnerModel')
строка|массив $scope необязательно массив()
Условия, используемые при постраничной навигации
массив $whitelist необязательно массив()
Список разрешенных параметров для постраничной навигации

Возвращает

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

Ссылка

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

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

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

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

Возвращает

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

redirect()source public

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

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

Параметры

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

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

целое число|массив|null $status необязательно null
HTTP код состояния (например: 301). По умолчанию 302, когда передается null.
логическое значение $exit необязательно true
Если true, после перенаправления будет вызвано exit()

Возвращает

Cake\Network\Response|null

Срабатывает

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

Ссылка

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

referer()source public

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

Возвращает URL, по которому был произведён данный запрос.

Параметры

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

Возвращает

строка
URL ссылающейся страницы

Ссылка

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

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

scaffoldError()source public

scaffoldError( string $method )

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

Параметры

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

Возвращает

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

Ссылка

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

Ссылка

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

Параметры

строка $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 для значений

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() для получения дополнительной информации об областях логирования.

Возвращает

логическое значение
Успех записи в журнал
END_OF_DOCUMENT_MARKER

requestAction()source public

requestAction( string|array $url , array $extra array() )

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

Внутри этого метода используется Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().

Передача данных POST и GET

Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.

Параметры

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

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

массив $extra опционально массив()

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

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

смешанное

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


toString()source public

toString( )

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

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

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

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

$Componentssource

public ComponentCollection

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

null

$Viewsource

public View

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

$_eventManagersource

protected CakeEventManager

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

null

$_mergeParentsource

protected строка

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

'AppController'

$_responseClasssource

protected строка

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

'CakeResponse'

$autoLayoutsource

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

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

true

$autoRendersource

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

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

true

$cacheActionsource

public смешанное

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

Пример:

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

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

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/helpers/cache.html#additional-configuration-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 строка

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

null

$methodssource

public массив

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

array()

$modelClasssource

public строка

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

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

null

$modelKeysource

public строка

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

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

null

$namesource

public строка

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

Ссылка

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

$passedArgssource

public смешанное

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

array()

$pluginsource

public строка

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

null
END_OF_DOCUMENT_MARKER

$requestsource

public CakeRequest

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

Ссылка

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

$responsesource

public CakeResponse

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

Ссылка

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

$scaffoldsource

public mixed

Вызывает создание Scaffold

Ссылка

http://book.cakephp.org/2.0/ru/controllers/scaffolding.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.
https://api.cakephp.org/2.9/class-Controller.html

Spec-Zone.ru

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