Spec-Zone.ru › CakePHP 3.6

Класс Controller

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

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

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

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

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

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

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

  • beforeFilter(Event $event) Вызывается перед каждым действием. Это хорошее место для выполнения общей логики, которая применима ко всем действиям.
  • beforeRender(Event $event) Вызывается перед отрисовкой представления.
  • beforeRedirect(Event $event, $url, Response $response) Вызывается перед выполнением перенаправления.
  • afterFilter(Event $event) Вызывается после завершения каждого действия и после отрисовки представления.
Cake\Controller\Controller реализует Cake\Event\EventListenerInterface, Cake\Event\EventDispatcherInterface использует 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
Ссылка: https://book.cakephp.org/3.0/ru/controllers.html
Расположение: Controller/Controller.php

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

  • $View public
    Cake\View\View

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

  • $_components protected
    Cake\Controller\ComponentRegistry
    Экземпляр ComponentRegistry, используемый для создания компонентов
  • $_responseClass protected
    string
    Имя класса для создания объекта ответа.
  • $_validViewOptions protected
    array
    Эти свойства контроллера будут переданы от контроллера к представлению в качестве опций.
  • $autoRender protected
    boolean

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

  • $components public
    array

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

  • $helpers public
    array

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

  • $name protected
    string
    Имя этого контроллера. Имена контроллеров во множественном числе, названные по модели, которую они обрабатывают.
  • $paginate public
    array
    Настройки для постраничной навигации.
  • $passedArgs public
    array
    Содержит все переданные параметры.
  • $plugin protected
    string|null
    Автоматически устанавливается в имя плагина.
  • $request public
    Cake\Http\ServerRequest

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

  • $response public
    Cake\Http\Response
    Экземпляр объекта ответа, содержащий информацию о предстоящем ответе

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

  • $Auth public
    Cake\Controller\Component\AuthComponent
  • $Cookie public
    Cake\Controller\Component\CookieComponent
  • $Csrf public
    Cake\Controller\Component\CsrfComponent
  • $Flash public
    Cake\Controller\Component\FlashComponent
  • $Paginator public
    Cake\Controller\Component\PaginatorComponent
  • $RequestHandler public
    Cake\Controller\Component\RequestHandlerComponent
  • $Security public
    Cake\Controller\Component\SecurityComponent

Краткое описание магических свойств (унаследованных)

  • _validViewOptions

Краткое описание свойств (унаследованных)

  • _eventClass, _eventManager _tableLocator _modelFactories, _modelType, modelClass _viewBuilder, viewClass, viewVars

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

  • __construct() public
    Конструктор.
  • __get() public
    Магический аксессор для автозагрузки моделей.
  • __set() public
    Магический сеттер для удалённых свойств.
  • _loadComponents() protected
    Загружает определённые компоненты с помощью фабрики компонентов.
  • _mergeControllerVars() protected

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

  • _viewPath() protected
    Получение пути к представлению на основе имени контроллера и префикса запроса.
  • afterFilter() public
    Вызывается после выполнения и отрисовки действия контроллера.
  • beforeFilter() public

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

  • beforeRedirect() public

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

  • beforeRender() public

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

  • components() public
    Получение реестра компонентов для этого контроллера.
  • disableAutoRender() public
    Отключение автоматической отрисовки действия.
  • enableAutoRender() public
    Включение автоматической отрисовки действия.
  • getName() public
    Возвращает имя контроллера.
  • getPlugin() public
    Возвращает имя плагина.
  • getRequest() public
    Получение экземпляра запроса.
  • getResponse() public
    Получение экземпляра ответа.
  • implementedEvents() public

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

  • initialize() public
    Метод инициализации.
  • invokeAction() public

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

  • isAction() public
    Метод проверки доступности действия из URL.
  • isAutoRenderEnabled() public
    Возвращает true, если действие должно быть отображено автоматически.
  • loadComponent() public
    Добавление компонента в реестр контроллера.
  • paginate() public
    Обработка пагинации записей в объектах Table.
  • redirect() public
    Перенаправление на заданный $url после отключения $this->autoRender.
  • referer() public
    Возвращает URL-адрес, по которому был сделан запрос.
  • render() public
    Создаёт соответствующий класс представления, передаёт ему данные и использует его для отрисовки выходных данных представления.
  • setAction() public
    Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect().
  • setName() public
    Устанавливает имя контроллера.
  • setPlugin() public
    Устанавливает имя плагина.
  • setRequest() public

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

  • setResponse() public
    Устанавливает экземпляр ответа.
  • shutdownProcess() public

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

  • startupProcess() public

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

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

__construct()source public

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

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

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

Параметры

Cake\Http\ServerRequest $request необязательный null

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

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

__get()source public

__get( string $name )

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

Параметры

строка $name
Имя свойства

Возвращает

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

__set()source public

__set( string $name , mixed $value )

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

Параметры

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

_loadComponents()source protected

_loadComponents( )

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

_mergeControllerVars()source protected

_mergeControllerVars( )

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

_viewPath()source protected

_viewPath( )

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

Возвращает

строка

afterFilter()source public

afterFilter( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Http\Response|null

Ссылка

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

beforeFilter()source public

beforeFilter( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Http\Response|null

Ссылка

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

beforeRedirect()source public

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

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

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

Параметры

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

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

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

Возвращает

Cake\Http\Response|null

Ссылка

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

beforeRender()source public

beforeRender( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Http\Response|null

Ссылка

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

components()source public

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

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

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

Параметры

Cake\Controller\ComponentRegistry|null $components optional null
Реестр компонентов.

Возвращает

Cake\Controller\ComponentRegistry

disableAutoRender()source public

disableAutoRender( )

Отключить автоматический рендеринг действия.

Возвращает


$this

Since

3.6.0

enableAutoRender()source public

enableAutoRender( )

Включить автоматический рендеринг действия.

Возвращает


$this

Since

3.6.0

getName()source public

getName( )

Возвращает имя контроллера.

Возвращает

строка

Since

3.6.0

getPlugin()source public

getPlugin( )

Возвращает имя плагина.

Возвращает

строка|null

Since

3.6.0

getRequest()source public

getRequest( )

Получает экземпляр запроса.

Возвращает

Cake\Http\ServerRequest

С версии

3.6.0

getResponse()source public

getResponse( )

Получает экземпляр ответа.

Возвращает

Cake\Http\Response

С версии

3.6.0

implementedEvents()source public

implementedEvents( )

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

Возвращает

array

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initialize()source public

initialize( )

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

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

invokeAction()source public

invokeAction( )

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

Возвращает

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

Выбрасывает

ReflectionException

isAction()source public

isAction( string $action )

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

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

Параметры

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

Возвращает

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

Выбрасывает

ReflectionException

isAutoRenderEnabled()source public

isAutoRenderEnabled( )

Возвращает true, если действие должно быть отображено автоматически.

Возвращает

boolean

С версии

3.6.0

loadComponent()source public

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

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

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

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

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

Параметры

string $name
Имя загружаемого компонента.
array $config необязательно []
Настройка для компонента.

Возвращает

Cake\Controller\Component

Выбрасывает

Exception

paginate()source public

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

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

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

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

Параметры

Cake\ORM\Table|строка|Cake\ORM\Query|null $object необязательно null

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

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

Возвращает

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

Выбрасывает

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

Ссылка

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

redirect()source public

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

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

Параметры

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

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

целое число $status необязательно 302
Код состояния HTTP (например: 301)

Возвращает

Cake\Http\Response|null

Ссылка

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

referer()source public

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

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

Параметры

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

Возвращает

строка
URL, ссылающийся на запрос

render()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

setAction()source public

setAction( string $action , ... $args )

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

Примеры:

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

Параметры

строка $action

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

... $args
$args Аргументы, переданные действию

Возвращает

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

setName()source public

setName( string $name )

Устанавливает имя контроллера.

Параметры

строка $name
Имя контроллера.

Возвращает


$this

Since

3.6.0

setPlugin()source public

setPlugin( string $name )

Устанавливает имя плагина.

Параметры

строка $name
Имя плагина.

Возвращает


$this

Since

3.6.0

setRequest()source public

setRequest( Cake\Http\ServerRequest $request )

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

  • $this->request - Для параметра $request
  • $this->passedArgs - То же, что и $request->params['pass]

Параметры

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

Возвращает


$this

setResponse()source public

setResponse( Cake\Http\Response $response )

Устанавливает экземпляр ответа.

Параметры

Cake\Http\Response $response
Экземпляр ответа.

Возвращает


$this

Since

3.6.0

shutdownProcess()source public

shutdownProcess( )

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

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

Возвращает

Cake\Http\Response|null

startupProcess()source public

startupProcess( )

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

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

Возвращает

Cake\Http\Response|null

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

dispatchEvent()source public

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

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

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

Параметры

строка $name
Имя события.
массив|null $data необязательно null

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

объект|null $subject необязательно null

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

Возвращает

Cake\Event\Event

eventManager()source public deprecated

eventManager( Cake\Event\EventManager $eventManager = null )

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

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

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
eventManager для установки

Возвращает

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

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

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

Возвращает

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

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

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

Параметры

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

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


$this

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

getTableLocator()source public

getTableLocator( )

Получает локатор таблицы.

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

Cake\ORM\Locator\LocatorInterface

setTableLocator()source public

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

Устанавливает локатор таблицы.

Параметры

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

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


$this

tableLocator()source public deprecated

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

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

Устарело

3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательно null
Экземпляр LocatorInterface.

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

Cake\ORM\Locator\LocatorInterface

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

log()source public

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

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

Параметры

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

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

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

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

_setModelClass()source protected

_setModelClass( string $name )

Устанавливает свойства modelClass и modelKey, основываясь на соглашениях.

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

Параметры

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

getModelType()source public

getModelType( )

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

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

string

loadModel()source public

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

Загрузка и построение объектов хранилища, необходимых этому объекту.

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

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

Параметры

string|null $modelClass необязательно null
Имя класса модели для загрузки. По умолчанию $this->modelClass
string|null $modelType необязательно 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 deprecated

modelType( string|null $modelType = null )

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

Устарело

3.5.0 Используйте getModelType()/setModelType() вместо этого.

Параметры

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

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

string|Cake\Datasource\ModelAwareTrait
$this

setModelType()source public

setModelType( string $modelType )

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

Параметры

string $modelType
Тип модели

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


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

Параметры

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

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

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

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

Возвращает

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

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


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

createView()source public

createView( string|null $viewClass = null )

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

Параметры

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

Возвращает

Cake\View\View

Выбрасывает

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

set()source public

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

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

Параметры

строка|массив $name
Строка или массив данных.
смешанный тип $value необязательно 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.
boolean $merge необязательно true

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

Возвращает

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

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

isAuthorized()source public

isAuthorized( $user )

Параметры

$user

Возвращает

boolean

Краткое описание магических методов, унаследованных от Cake\Event\EventDispatcherInterface

getEventManager()

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

$Viewsource

public Cake\View\View

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

Устаревшее

3.1.0 Используйте viewBuilder() вместо этого.

$_componentssource

protected Cake\Controller\ComponentRegistry

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

$_responseClasssource

protected строка

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

'Cake\Http\Response'

$_validViewOptionssource

protected массив

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

См. также

Cake\View\View
[
    'passedArgs'
]

$autoRendersource

protected булево

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

true

$componentssource

public массив

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

Пример:

public $components = ['RequestHandler', 'Acl'];

Ссылка

https://book.cakephp.org/3.0/ru/controllers/components.html

Устаревшее

3.0.0 Вы должны настраивать компоненты в методе Controller::initialize().
[]

$helperssource

public массив

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

Пример:

public $helpers = ['Form', 'Html', 'Time'];

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#configuring-helpers-to-load

Устаревшее

3.0.0 Вы должны настраивать хелперы в методе AppView::initialize().
[]

$namesource

protected строка

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

Автоматически устанавливается с помощью соглашений в Controller::__construct().

$paginatesource

public массив

Настройки для пагинации.

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

См. также

Cake\Controller\Component\PaginatorComponent
[]
END_OF_DOCUMENT_MARKER

$passedArgssource

public array

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

Устарело

3.1.0 Используйте $this->request->getParam('pass') вместо этого.
[]

$pluginsource

protected string|null

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

$requestsource

public Cake\Http\ServerRequest

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

Устарело 3.6.0: Свойство станет защищённым в 4.0.0. Используйте getRequest()/setRequest вместо этого.

Ссылка

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

$responsesource

public Cake\Http\Response

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

Устарело 3.6.0: Свойство станет защищённым в 4.0.0. Используйте getResponse()/setResponse вместо этого.

Ссылка

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

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

$Authsource

public Cake\Controller\Component\AuthComponent

$Cookiesource

public Cake\Controller\Component\CookieComponent

$Csrfsource

public Cake\Controller\Component\CsrfComponent

$Flashsource

public Cake\Controller\Component\FlashComponent

$Paginatorsource

public Cake\Controller\Component\PaginatorComponent

$RequestHandlersource

public Cake\Controller\Component\RequestHandlerComponent

$Securitysource

public Cake\Controller\Component\SecurityComponent

© 2005–present 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.6/class-Cake.Controller.Controller.html

Spec-Zone.ru

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