Класс BaseApplication
Базовый класс для полнофункциональных приложений
Этот класс служит базовым классом для приложений, использующих CakePHP как полнофункциональный фреймворк. Если вы используете только библиотеки Http или Console, вы должны реализовать соответствующие интерфейсы напрямую.
Класс приложения отвечает за загрузку приложения и обеспечение подключения middleware. Он также вызывается как последняя часть middleware и делегирует обработку запроса/ответа соответствующему контроллеру.
Краткое описание свойств
- $_eventClass protected
stringИмя по умолчанию класса для новых объектов событий.
- $_eventManager protected
Cake\Event\EventManagerInterface|nullЭкземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
- $configDir protected
string - $container protected
Cake\Core\ContainerInterface|nullКонтейнер
- $controllerFactory protected
Cake\Http\ControllerFactoryInterface|nullФабрика контроллеров
- $plugins protected
Cake\Core\PluginCollectionКоллекция плагинов
Краткое описание методов
-
__construct() public
Конструктор
-
addOptionalPlugin() public
Добавить необязательный плагин
-
addPlugin() public
Добавить плагин в загруженный набор плагинов.
-
bootstrap() public
Загрузить всю конфигурацию приложения и логику загрузки.
-
buildContainer() protected
Сформировать контейнер сервисов
-
console() public
Определить консольные команды для приложения.
-
dispatchEvent() public
Обёртка для создания и отправки событий.
-
getContainer() public
Получить контейнер внедрения зависимостей для приложения.
-
getEventManager() public
Возвращает экземпляр менеджера Cake\Event\EventManager для данного объекта.
-
getPlugins() public
Получить используемую коллекцию плагинов.
-
handle() public
Вызвать приложение.
-
middleware() abstract public
Определить слои HTTP middleware для приложения.
-
pluginBootstrap() public
Запустить логику загрузки для загруженных плагинов.
-
pluginConsole() public
Запустить консольные хуки для плагинов
-
pluginMiddleware() public
Запустить хуки middleware для плагинов
-
pluginRoutes() public
Запустить хуки маршрутов для загруженных плагинов
-
routes() public
Определить маршруты для приложения.
-
services() public
Зарегистрировать сервисы контейнера приложения.
-
setEventManager() public
Возвращает экземпляр Cake\Event\EventManagerInterface для данного объекта.
Подробное описание методов
__construct() public
__construct(string $configDir, Cake\Event\EventManagerInterface|null $eventManager = null, Cake\Http\ControllerFactoryInterface|null $controllerFactory = null)
Конструктор
Параметры
-
string$configDir Директория, в которой хранится конфигурация загрузки.
-
Cake\Event\EventManagerInterface|null$eventManager optional Экземпляр менеджера событий приложения.
-
Cake\Http\ControllerFactoryInterface|null$controllerFactory optional Фабрика контроллеров.
addOptionalPlugin() public
addOptionalPlugin(Cake\Core\PluginInterface|string $name, array<string, mixed> $config = []): $this
Добавить необязательный плагин
Если плагин недоступен, пропустить его.
Параметры
-
Cake\Core\PluginInterface|string$name Имя плагина или объект плагина.
-
array<string, mixed>$config optional Данные конфигурации плагина, если для $name используется строка.
Возвращает
$thisaddPlugin() public
addPlugin(Cake\Core\PluginInterface|string $name, array<string, mixed> $config = []): $this
Добавить плагин в набор загруженных плагинов.
Если плагин с указанным именем не существует или не определяет класс Plugin, будет использован экземпляр Cake\Core\BasePlugin. У этого сгенерированного класса будут включены все хуки плагина.
Параметры
-
Cake\Core\PluginInterface|string$name -
array<string, mixed>$config optional
Возвращает
$thisbootstrap() public
bootstrap(): void
Загрузка всей конфигурации приложения и логики загрузки.
Переопределите этот метод, чтобы добавить дополнительную логику загрузки для вашего приложения.
Возвращает
voidbuildContainer() protected
buildContainer(): Cake\Core\ContainerInterface
Построение контейнера сервисов
Переопределите этот метод, если вам необходимо использовать пользовательский контейнер или вы хотите изменить способ построения контейнера.
Возвращает
Cake\Core\ContainerInterfaceconsole() public
console(Cake\Console\CommandCollection $commands): Cake\Console\CommandCollection
Определение команд консоли для приложения.
По умолчанию все команды в CakePHP, плагинах и приложении будут загружаться с помощью соглашений на основе имен.
Параметры
-
Cake\Console\CommandCollection$commands CommandCollection для добавления команд.
Возвращает
Cake\Console\CommandCollectiondispatchEvent() public
dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
-
string$name Имя события.
-
array|null$data optional Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
-
object|null$subject optional Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventInterfacegetContainer() public
getContainer(): Cake\Core\ContainerInterface
Получение контейнера инъекции зависимостей для приложения.
В первый раз при получении контейнера он будет построен и сохранён для будущих вызовов.
Возвращает
Cake\Core\ContainerInterfacegetEventManager() public
getEventManager(): Cake\Event\EventManagerInterface
Возвращает экземпляр менеджера событий Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Возвращает
Cake\Event\EventManagerInterfacegetPlugins() public
getPlugins(): Cake\Core\PluginCollection
Получение используемого набора плагинов.
Возвращает
Cake\Core\PluginCollectionhandle() public
handle(ServerRequestInterface $request): Psr\Http\Message\ResponseInterface
Вызов приложения.
- Добавление запроса в контейнер, что позволяет его инъекцию в другие сервисы.
- Создание контроллера, который обработает этот запрос.
- Вызов контроллера.
Параметры
-
ServerRequestInterface$request Запрос
Возвращает
Psr\Http\Message\ResponseInterfacemiddleware() abstract public
middleware(Cake\Http\MiddlewareQueue $middlewareQueue): Cake\Http\MiddlewareQueue
Определение слоёв HTTP-средств обработки для приложения.
Параметры
-
Cake\Http\MiddlewareQueue$middlewareQueue Очередь средств обработки, которая должна быть установлена в вашем классе App.
Возвращает
Cake\Http\MiddlewareQueuepluginBootstrap() public
pluginBootstrap(): void
Выполнение логики загрузки для загруженных плагинов.
Возвращает
voidpluginConsole() public
pluginConsole(Cake\Console\CommandCollection $commands): Cake\Console\CommandCollection
Выполнение консольных хуков для плагинов
Параметры
-
Cake\Console\CommandCollection$commands
Возвращает
Cake\Console\CommandCollectionpluginMiddleware() public
pluginMiddleware(Cake\Http\MiddlewareQueue $middleware): Cake\Http\MiddlewareQueue
Выполнение хуков средств обработки для плагинов
Параметры
-
Cake\Http\MiddlewareQueue$middleware
Возвращает
Cake\Http\MiddlewareQueuepluginRoutes() public
pluginRoutes(Cake\Routing\RouteBuilder $routes): Cake\Routing\RouteBuilder
Выполнение хуков маршрутов для загруженных плагинов
Параметры
-
Cake\Routing\RouteBuilder$routes
Возвращает
Cake\Routing\RouteBuilderroutes() public
routes(Cake\Routing\RouteBuilder $routes): void
Определение маршрутов для приложения.
По умолчанию это загрузит config/routes.php для удобства использования и обратной совместимости.
Параметры
-
Cake\Routing\RouteBuilder$routes Построитель маршрутов для добавления маршрутов.
Возвращает
voidservices() public
services(Cake\Core\ContainerInterface $container): void
Регистрация сервисов контейнера приложения.
Зарегистрированные сервисы могут быть получены из контейнера с помощью get(). Зависимости и параметры будут разрешаться на основе определений сервисов.
Параметры
-
Cake\Core\ContainerInterface$container Контейнер, который нужно обновить.
Возвращает
voidsetEventManager() public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Возвращает экземпляр Cake\Event\EventManagerInterface для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Параметры
-
Cake\Event\EventManagerInterface$eventManager устанавливаемый менеджер событий
Возвращает
$thisПодробное описание свойства
$_eventClass protected
Имя по умолчанию для новых объектов события.
Тип
string$_eventManager protected
Экземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.
Тип
Cake\Event\EventManagerInterface|null$configDir protected
Тип
string$container protected
Контейнер
Тип
Cake\Core\ContainerInterface|null$controllerFactory protected
Фабрика контроллеров
Тип
Cake\Http\ControllerFactoryInterface|null$plugins protected
Коллекция плагинов
Тип
Cake\Core\PluginCollection
© 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/4.4/class-Cake.Http.BaseApplication.html