Spec-Zone.ru › CakePHP 3.8

Класс 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/en/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
    Экземпляр объекта 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

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

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

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

  • beforeRedirect() public

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

  • 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
    Обрабатывает постраничную навигацию записей в объектах таблицы.
  • 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
Объект ответа для данного контроллера.
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( )

_viewPath()source protected

_viewPath( )

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

Возвращает

string
END_OF_DOCUMENT_MARKER

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

С тех пор как

3.6.0

enableAutoRender()source public

enableAutoRender( )

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

Возвращает


$this

С тех пор как

3.6.0

getName()source public

getName( )

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

Возвращает

строка

С тех пор как

3.6.0

getPlugin()source public

getPlugin( )

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

Возвращает

строка|null

С тех пор как

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

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

Возвращает

массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initialize()source public

initialize( )

Метод начальной установки.

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

invokeAction()source public

invokeAction( )

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

Возвращает

смешанный
Результат ответа.

Исключения

ReflectionException

isAction()source public

isAction( string $action )

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

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

Параметры

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

Возвращает

логическое значение
Доступно ли действие из URL.

Исключения

ReflectionException

isAutoRenderEnabled()source public

isAutoRenderEnabled( )

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

Возвращает

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

С тех пор как

3.6.0

loadComponent()source public

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

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

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

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

В результате будет установлено свойство Toolbar.

Параметры

строка $name
Имя компонента, который нужно загрузить.
массив $config optional []
Настройка компонента.

Возвращает

Cake\Controller\Component

Исключения

Исключение
END_OF_DOCUMENT_MARKER

paginate()source public

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

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

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

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

Параметры

Cake\ORM\Table|string|Cake\ORM\Query|null $object необязательный null

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

array $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.

Параметры

string|array $url

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

integer $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, сославшись на текущий запрос.

Параметры

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

Возвращает

string
URL ссылки

render()source public

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

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

Параметры

string|null $view необязательный null
Представление для использования при рендеринге
string|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);

Параметры

string $action

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

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

Возвращает

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

setName()source public

setName( string $name )

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

Параметры

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

Возвращает


$this

Since

3.6.0

setPlugin()source public

setPlugin( string $name )

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

Параметры

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

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

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

Параметры

string $name
Имя события.
array|null $data необязательный null

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

object|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
менеджер событий для установки

Возвращает

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
END_OF_DOCUMENT_MARKER

Методы, используемые из 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().

Параметры

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

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

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

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

_mergeProperty()source protected

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

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

Параметры

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

_mergePropertyData()source protected

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

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

Параметры

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

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

смешанный
Обновленное значение.

_mergeVars()source protected

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

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

Параметры:

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

Параметры

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

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

_setModelClass()source protected

_setModelClass( string $name )

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

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

Параметры

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

getModelType()source public

getModelType( )

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

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

строка

loadModel()source public

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

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

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

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

Параметры

строка|null $modelClass необязательно null

Имя класса модели для загрузки. По умолчанию $this->modelClass. Имя может быть псевдонимом, как 'Post' или FQCN, как App\Model\Table\PostsTable::class.

строка|null $modelType необязательно null
Тип репозитория для загрузки. По умолчанию значение modelType().

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

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

Исключения

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

modelFactory()source public

modelFactory( string $type , callable $factory )

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

Параметры

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

modelType()source public deprecated

modelType( string|null $modelType = null )

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

Устаревшее

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

Параметры

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

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

строка|Cake\Datasource\ModelAwareTrait
$this

setModelType()source public

setModelType( string $modelType )

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

Параметры

строка $modelType
Тип модели

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


$this

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

requestAction()source public deprecated

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

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

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

Примеры

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

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

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

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

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

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

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

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

Устарело

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

Параметры

строка|массив $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 deprecated

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

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

Устарело

3.7.0 Используйте ViewBuilder::setOptions() или любой из методов-сеттеров вместо этого.

Параметры

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

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

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

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

Сводка магических методов

isAuthorized()source public

isAuthorized( $user )

Параметры

$user

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

булево

Магические методы, унаследованные от 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

Устарело

3.7.0 Используйте ViewBuilder::setOptions() или любой из методов-сеттеров вместо этого.
[
    '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 массив

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

Устарело

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

$pluginsource

protected строка|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.8/class-Cake.Controller.Controller.html

Spec-Zone.ru

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