Класс 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
Вызов приложения.
- Преобразование ответа PSR в эквиваленты CakePHP.
- Создание контроллера, который будет обрабатывать этот запрос.
- Вызов контроллера.
Параметры
-
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.3/class-Cake.Http.BaseApplication.html