Spec-Zone.ru › CakePHP 2.8

Класс Component

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

Обратные вызовы жизненного цикла

Компоненты могут предоставлять несколько обратных вызовов, которые вызываются на различных этапах цикла запроса. Доступные обратные вызовы:

  • initialize() - Вызывается перед методом beforeFilter контроллера.
  • startup() - Вызывается после метода beforeFilter контроллера.
  • beforeRender() - Вызывается перед отрисовкой представления + макета.
  • shutdown() - Вызывается после завершения действия и отрисовки представления, но перед Controller::afterFilter().
  • beforeRedirect() - Вызывается перед выполнением redirect().
Объект
Extended by Компонент

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

  • AclComponent
  • AuthComponent
  • CookieComponent
  • EmailComponent
  • FlashComponent
  • PaginatorComponent
  • RequestHandlerComponent
  • SecurityComponent
  • SessionComponent
Пакет: Cake\Контроллер
Ссылка: http://book.cakephp.org/2.0/ru/controllers/components.html
См.: Controller::$components
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component.php

Резюме свойств

  • $_Collection protected
    ComponentCollection
    Класс коллекции компонентов, используемый для ленивой загрузки компонентов.
  • $_componentMap protected
    array
    Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
  • $components public
    array
    Другие компоненты, используемые этим компонентом.
  • $settings public
    array
    Настройки для этого компонента

Резюме методов

  • __construct() public
    Конструктор
  • __get() public
    Магический метод для ленивой загрузки $components.
  • beforeRedirect() public

    Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет произведено перенаправление, на новый URL. Возвращаемое значение этого метода может быть массивом или строкой.

  • beforeRender() public

    Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()

  • initialize() public
    Вызывается перед Controller::beforeFilter().
  • shutdown() public
    Вызывается после Controller::render() и перед выводом результата в браузер.
  • startup() public
    Вызывается после Controller::beforeFilter() и перед выполнением действия контроллера

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

__construct()source public

__construct( ComponentCollection $collection , array $settings array() )

Конструктор

Параметры

ComponentCollection $collection
ComponentCollection, который может использовать этот компонент для ленивой загрузки компонентов
массив $settings необязательно array()
Массив настроек конфигурации.

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

Object::__construct()

__get()source public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента для получения.

Возвращает

смешанный тип
Объект компонента или null.

beforeRedirect()source public

beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )

Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет произведено перенаправление, на новый URL. Возвращаемое значение этого метода может быть массивом или строкой.

Если возвращаемое значение является массивом и содержит ключ 'url'. Вы также можете указать следующие:

  • status Код состояния для перенаправления
  • exit Нужно ли завершить выполнение скрипта после перенаправления.

Если возвращаемое значение — строка или массив, не содержащий ключа 'url', оно будет использоваться в качестве нового URL для перенаправления.

Параметры

Controller $controller
Контроллер с компонентами для beforeRedirect
строка|массив $url
Строка или массив URL, на который производится перенаправление.
целое число $status необязательно null
Код состояния перенаправления
логическое значение $exit необязательно true
Завершить выполнение скрипта после перенаправления

Возвращает

массив|null
Массив или null.

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirect

beforeRender()source public

beforeRender( Controller $controller )

Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()

Параметры

Controller $controller
Контроллер с компонентами для beforeRender

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRender

initialize()source public

initialize( Controller $controller )

Вызывается перед Controller::beforeFilter().

Параметры

Controller $controller
Контроллер с компонентами для инициализации

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::initialize

shutdown()source public

shutdown( Controller $controller )

Вызывается после Controller::render() и перед выводом результата в браузер.

Параметры

Controller $controller
Контроллер с компонентами для завершения работы

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdown

startup()source public

startup( Controller $controller )

Вызывается после Controller::beforeFilter() и перед выполнением действия контроллера

Параметры

Controller $controller
Контроллер с компонентами для запуска

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::startup

Наследуемые методы от Объекта

_mergeVars()source protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства этого объекта $property со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'

Это предоставляет часть DRY-магии CakePHP. Если вы хотите её отключить, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойства с.
логическое значение $normalize необязательно true
Установите значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
END_OF_DOCUMENT_MARKER

_set()source protected

_set( array $properties array() )

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

Параметры

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

_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 необязательно массив()
Список параметров для использования при вызове $method

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

mixed
Возвращает результат вызова метода

log()source public

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

Удобный метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. CakeLog::write().

Параметры

строка $msg
Сообщение журнала
целое число $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|строка|массив $scope необязательно null

Сфера(ы) создания сообщения журнала. Подробнее о сферах ведения журналов см. CakeLog::config().

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

boolean
Успешность записи в журнал

requestAction()source public

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

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

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

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

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

Параметры

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

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

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

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

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

mixed

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


toString()source public

toString( )

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

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

string
Название этого класса

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

$_Collectionsource

protected ComponentCollection

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

$_componentMapsource

protected массив

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

array()

$componentssource

public массив

Другие компоненты, используемые этим компонентом.

array()

$settingssource

public массив

Настройки для этого компонента

array()

© 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-Component.html

Spec-Zone.ru

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