Spec-Zone.ru › CakePHP 3.3

Класс ErrorController

Контроллер обработки ошибок

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

Cake\Controller\Controller implements Cake\Event\EventListenerInterface, Cake\Event\EventDispatcherInterface uses Cake\Event\EventDispatcherTrait , Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait
Расширенный Cake\Controller\ErrorController
Пространство имён: Cake\Controller
Расположение: Controller/ErrorController.php

Унаследованные магические свойства

  • Auth, Cookie, Csrf, Flash, Paginator, RequestHandler, Security

Унаследованные свойства

  • View, _components, _responseClass, _validViewOptions, autoRender, components, helpers, name, paginate, passedArgs, plugin, request, response _eventClass, _eventManager _tableLocator _modelFactories, _modelType, modelClass _viewBuilder, viewClass, viewVars

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

  • beforeRender() public
    Обратный вызов beforeRender.
  • initialize() public
    Метод инициализации.

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

beforeRender()source public

beforeRender( Cake\Event\Event $event )

Обратный вызов beforeRender.

Параметры

Cake\Event\Event $event
Событие.

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

Cake\Controller\Controller::beforeRender()

initialize()source public

initialize( )

Метод инициализации.

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

Cake\Controller\Controller::initialize()

Методы, унаследованные от Cake\Controller\Controller

__construct()source public

__construct( Cake\Network\Request $request null , Cake\Network\Response $response null , string|null $name null , Cake\Event\EventManager|null $eventManager null , Cake\Controller\ComponentRegistry|null $components null )

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

Устанавливает ряд свойств на основе соглашений, если они пусты. Чтобы переопределить используемые CakePHP соглашения, вы можете определить свойства в объявлении вашего класса.

Параметры

Cake\Network\Request $request необязательно null

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

Cake\Network\Response $response необязательно null
Объект ответа для этого контроллера.
string|null $name необязательно null
Переопределите имя, полезное в тестировании при использовании моков.
Cake\Event\EventManager|null $eventManager необязательно null
Менеджер событий. По умолчанию — новый экземпляр.
Cake\Controller\ComponentRegistry|null $components необязательно null
Реестр компонентов. По умолчанию — новый экземпляр.

__get()source public

__get( string $name )

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

Параметры

string $name
Имя свойства

Возвращает

boolean|object
Экземпляр модели или false

__set()source public

__set( string $name , mixed $value )

Магический установщик для удаленных свойств.

Параметры

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

_loadComponents()source protected

_loadComponents( )

Загружает определенные компоненты с помощью фабрики компонентов.

_mergeControllerVars()source protected

_mergeControllerVars( )

Объединение компонентов, свойств helpers из родительских классов.

_viewPath()source protected

_viewPath( )

Получить viewPath на основе имени контроллера и префикса запроса.

Возвращает

string

afterFilter()source public

afterFilter( Cake\Event\Event $event )

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

Параметры

Cake\Event\Event $event
Экземпляр события

Возвращает

Cake\Network\Response|null

Ссылка

http://book.cakephp.org/3.0/en/controllers.html#request-life-cycle-callbacks

beforeFilter()source public

beforeFilter( Cake\Event\Event $event )

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

Параметры

Cake\Event\Event $event
Экземпляр события

Возвращает

Cake\Network\Response|null

Ссылка

http://book.cakephp.org/3.0/en/controllers.html#request-life-cycle-callbacks

beforeRedirect()source public

beforeRedirect( Cake\Event\Event $event , string|array $url , Cake\Network\Response $response )

Метод beforeRedirect вызывается, когда метод redirect контроллера вызывается, но перед любыми дальнейшими действиями.

Если событие остановлено, контроллер не продолжит перенаправлять запрос. Переменные $url и $status имеют то же значение, что и для метода контроллера. Вы можете установить результат события в экземпляр ответа или изменить местоположение перенаправления, используя экземпляр ответа контроллера.

Параметры

Cake\Event\Event $event
Экземпляр события
string|array $url

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

Cake\Network\Response $response
Объект ответа.

Возвращает

Cake\Network\Response|null

Ссылка

http://book.cakephp.org/3.0/en/controllers.html#request-life-cycle-callbacks

components()source public

components( Cake\Controller\ComponentRegistry|null $components null )

Получить реестр компонентов для этого контроллера.

Если вызвано с первым параметром, оно будет установлено как свойство контроллера $this->_components

Параметры

Cake\Controller\ComponentRegistry|null $components необязательно null
Реестр компонентов.

Возвращает

Cake\Controller\ComponentRegistry

implementedEvents()source public

implementedEvents( )

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

Возвращает

массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()
END_OF_DOCUMENT_MARKER ```

invokeAction()source public

invokeAction( )

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

Возвращает

mixed
Результат ответа.

Исключение

LogicException
Когда запрос не задан.
Cake\Controller\Exception\MissingActionException
Когда действия не определены или недоступны.

isAction()source public

isAction( string $action )

Метод для проверки доступности действия из URL.

Переопределите этот метод, чтобы изменить, какие методы контроллера могут быть доступны. По умолчанию запрещается доступ ко всем методам, определённым в Cake\Controller\Controller, и разрешается доступ ко всем публичным методам всех подклассов этого класса.

Параметры

string $action
Действие для проверки.

Возвращает

boolean
Доступно ли действие из URL.

loadComponent()source public

loadComponent( string $name , array $config [] )

Добавляет компонент в реестр контроллера.

Этот метод также установит компонент в свойство. Например:

$this->loadComponent('Acl.Acl');

Приведёт к установке свойства Toolbar.

Параметры

string $name
Имя компонента для загрузки.
array $config optional []
Конфигурация компонента.

Возвращает

Cake\Controller\Component

paginate()source public

paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object null , array $settings [] )

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

Загрузит связанный объект таблицы и выполнит постраничную навигацию запроса с помощью компонента PaginatorComponent, используя данные запроса и параметры, определенные в $this->paginate.

Этот метод также сделает PaginatorHelper доступным в представлении.

Параметры

Cake\ORM\Table|string|Cake\ORM\Query|null $object optional null

Таблица для постраничной навигации (например: экземпляр таблицы, 'НазваниеТаблицы' или объект запроса).

array $settings optional []
Настройки/конфигурация, используемые для постраничной навигации.

Возвращает

Cake\ORM\ResultSet
Результаты запроса

Исключение

RuntimeException
Когда не найден совместимый объект таблицы.

Ссылка

http://book.cakephp.org/3.0/ru/controllers.html#paginating-a-model

redirect()source public

redirect( string|array $url , integer $status 302 )

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

Параметры

string|array $url

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

integer $status optional 302
Код HTTP-статуса (например: 301).

Возвращает

Cake\Network\Response|null

Ссылка

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

referer()source public

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

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

Параметры

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

Возвращает

string
URL ссылки.

render()source public

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

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

Параметры

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

Возвращает

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

Ссылка

http://book.cakephp.org/3.0/ru/controllers.html#rendering-a-view

setAction()source public

setAction( string $action )

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

Примеры:

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

Параметры

string $action

Новое действие, на которое нужно 'перенаправить'. Любые другие параметры, переданные в этот метод, будут переданы как параметры новому действию.

Возвращает

mixed
Возвращает значение, возвращённое вызываемым действием

setRequest()source public

setRequest( Cake\Network\Request $request )

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

  • $this->request - К параметру $request
  • $this->plugin - К $request->params['plugin']
  • $this->passedArgs - То же, что и $request->params['pass]
  • View::$plugin - $this->plugin

Параметры

Cake\Network\Request $request
Экземпляр запроса.

shutdownProcess()source public

shutdownProcess( )

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

  • вызывает обратный вызов компонента shutdown.
  • вызывает метод контроллера afterFilter.

Возвращает

Cake\Network\Response|null

startupProcess()source public

startupProcess( )

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

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

Возвращает

Cake\Network\Response|null

Методы, используемые из Cake\Event\EventDispatcherTrait

dispatchEvent()source public

dispatchEvent( string $name , array|null $data null , object|null $subject null )

Обёртка для создания и отправки событий.

Возвращает событие, которое было обработано.

Параметры

string $name
Имя события.
array|null $data optional null

Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.

object|null $subject optional null

Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

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

Параметры

Cake\Event\EventManager $eventManager optional null
менеджер событий для установки

Возвращает

Cake\Event\EventManager

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

tableLocator()source public

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )

Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий используемый локатор.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator optional null
Экземпляр LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface
END_OF_DOCUMENT_MARKER

Методы, используемые из Cake\Log\LogTrait

log()source public

log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )

Метод для записи сообщения в журнал. Дополнительную информацию о записи в журналы см. в Log::write().

Параметры

mixed $msg
Сообщение для записи в журнал.
integer|string $level optional LogLevel::ERROR
Уровень ошибки.
string|array $context optional []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

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

Методы, используемые из Cake\Utility\MergeVariablesTrait

_mergeProperty()source protected

_mergeProperty( string $property , array $parentClasses , array $options )

Объединение одного свойства со значениями, объявленными во всех родительских классах.

Параметры

string $property
Имя объединяемого свойства.
array $parentClasses
Массив классов, которые нужно объединить.
array $options
Параметры для объединения свойства, см. _mergeVars()

_mergePropertyData()source protected

_mergePropertyData( array $current , array $parent , boolean $isAssoc )

Объединение каждого из ключей в свойстве.

Параметры

array $current
Текущее объединённое значение.
array $parent
Значение родительского класса.
boolean $isAssoc
Флаг, указывающий, следует ли выполнять объединение в ассоциативном режиме.

Возвращает

mixed
Обновлённое значение.

_mergeVars()source protected

_mergeVars( array $properties , array $options [] )

Объединение списка $properties со всеми родительскими классами текущего класса.

Параметры:

  • associative - Список свойств, которые следует рассматривать как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.

Параметры

array $properties
Массив свойств и стратегии объединения для них.
array $options optional []
Параметры для объединения свойств.

Методы, используемые из Cake\Datasource\ModelAwareTrait

_setModelClass()source protected

_setModelClass( string $name )

Устанавливает свойства modelClass и modelKey на основе конвенций.

Если свойства уже установлены, они не будут перезаписаны.

Параметры

string $name
Имя класса.

loadModel()source public

loadModel( string|null $modelClass null , string|null $modelType null )

Загружает и создаёт объекты репозитория, необходимые этому объекту

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

Если поставщик репозитория не возвращает объект, будет брошено исключение MissingModelException.

Параметры

string|null $modelClass optional null
Имя класса модели для загрузки. По умолчанию $this->modelClass
string|null $modelType optional null
Тип репозитория для загрузки. По умолчанию значение modelType().

Возвращает

Cake\Datasource\RepositoryInterface
Созданный экземпляр модели.

Выбрасывает

Cake\Datasource\Exception\MissingModelException
Если модель класса не найдена.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён

modelFactory()source public

modelFactory( string $type , callable $factory )

Переопределяет существующую вызываемую функцию для генерации репозиториев заданного типа.

Параметры

string $type
Имя типа репозитория, для которого предназначена функция-фабрика.
callable $factory
Функция-фабрика, используемая для создания экземпляров.

modelType()source public

modelType( string|null $modelType null )

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

Параметры

string|null $modelType optional null
Тип модели или null для получения текущего

Возвращает

string|Cake\Datasource\ModelAwareTrait
$this

Методы, используемые из Cake\Routing\RequestActionTrait

requestAction()source public

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

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

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

Примеры

Базовый пример получения значения действия контроллера:

$variables = $this->requestAction('/articles/popular');

Базовый пример request action для получения отрисованной страницы без макета.

$viewHtml = $this->requestAction('/articles/popular', ['return']);

Вы также можете передавать URL в виде массива:

$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);

Передача других данных запроса

Вы можете передавать данные POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки могут быть переданы с использованием ключа cookies. Параметры GET могут быть установлены с помощью query, а данные POST могут быть отправлены с помощью ключа post.

$vars = $this->requestAction('/articles/popular', [
  'query' => ['page' => 1],
  'cookies' => ['remember_me' => 1],
]);

Отправка значений среды или заголовков

По умолчанию действия, отправленные этим методом, будут использовать глобальные значения $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать значения:

$vars = $this->requestAction('/articles/popular', [
  'environment' => ['CONTENT_TYPE' => 'application/json']
]);

Передача сессии

По умолчанию действия, отправленные этим методом, будут использовать стандартный объект сессии. Если вы хотите использовать определённый экземпляр сессии, вам нужно указать его.

$vars = $this->requestAction('/articles/popular', [
  'session' => new Session($someSessionConfig)
]);

Устарело

3.3.0 Следует переработать код, чтобы использовать View Cells вместо этого метода.

Параметры

string|array $url

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

array $extra optional []

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

Возвращает

mixed

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


Методы, используемые из Cake\View\ViewVarsTrait

createView()source public

createView( string|null $viewClass null )

Создаёт экземпляр класса представления на основе текущей конфигурации.

Параметры

string|null $viewClass optional null
Необязательное имя класса представления с пространством имён для создания экземпляра.

Возвращает

Cake\View\View

Выбрасывает

Cake\View\Exception\MissingViewException
Если класс представления не найден.

set()source public

set( string|array $name , mixed $value null )

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

Параметры

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

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

Возвращает


$this

viewBuilder()source public

viewBuilder( )

Получить используемый билдер представлений.

Возвращает

Cake\View\ViewBuilder

viewOptions()source public

viewOptions( string|array|null $options null , boolean $merge true )

Получение/установка допустимых параметров представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не задано. Если вызов осуществляется без параметров, он вернёт текущий список допустимых параметров представления. См. createView().

Параметры

строка|массив|null $options необязательно null
строка или массив строк, которые будут добавлены к _validViewOptions.
логическое значение $merge необязательно true

Следует ли объединить или переопределить существующие допустимые параметры представления. По умолчанию true.

Возвращает

массив
Обновлённые параметры представления в виде массива.

© 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/3.3/class-Cake.Controller.ErrorController.html

Spec-Zone.ru

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