From 768d7961a65ffbdb89f86eafa765062f7d313c48 Mon Sep 17 00:00:00 2001 From: Art4 Date: Thu, 9 Jan 2025 08:17:43 +0000 Subject: [PATCH] Move setupContainerForAddons() into App --- src/App.php | 17 +++++++++++++++++ src/Core/DiceContainer.php | 9 --------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/App.php b/src/App.php index 10c3603199..8c22a42a06 100644 --- a/src/App.php +++ b/src/App.php @@ -17,6 +17,7 @@ use Friendica\App\Router; use Friendica\Capabilities\ICanCreateResponses; use Friendica\Capabilities\ICanHandleRequests; use Friendica\Content\Nav; +use Friendica\Core\Addon\Capability\ICanLoadAddons; use Friendica\Core\Config\Factory\Config; use Friendica\Core\Container; use Friendica\Core\Renderer; @@ -134,6 +135,8 @@ class App ], ]); + $this->setupContainerForAddons(); + $this->container->setup(LogChannel::APP, false); $this->requestId = $this->container->create(Request::class)->getRequestId(); @@ -170,11 +173,15 @@ class App public function processConsole(array $argv): void { + $this->setupContainerForAddons(); + (\Friendica\Core\Console::create($this->container, $argv))->execute(); } public function processEjabberd(): void { + $this->setupContainerForAddons(); + $this->container->setup(LogChannel::AUTH_JABBERED, false); /** @var BasePath */ @@ -192,6 +199,16 @@ class App } } + private function setupContainerForAddons(): void + { + /** @var ICanLoadAddons $addonLoader */ + $addonLoader = $this->container->create(ICanLoadAddons::class); + + foreach ($addonLoader->getActiveAddonConfig('dependencies') as $name => $rule) { + $this->container->addRule($name, $rule); + } + } + private function registerTemplateEngine(): void { Renderer::registerTemplateEngine('Friendica\Render\FriendicaSmartyEngine'); diff --git a/src/Core/DiceContainer.php b/src/Core/DiceContainer.php index d2abdc58fa..8b7f9472d7 100644 --- a/src/Core/DiceContainer.php +++ b/src/Core/DiceContainer.php @@ -49,7 +49,6 @@ final class DiceContainer implements Container */ public function setup(string $logChannel = LogChannel::DEFAULT, bool $withTemplateEngine = true): void { - $this->setupContainerForAddons(); $this->setupContainerForLogger($logChannel); $this->setupLegacyServiceLocator(); $this->registerErrorHandler(); @@ -85,14 +84,6 @@ final class DiceContainer implements Container $this->container = $this->container->addRule($name, $rule); } - private function setupContainerForAddons(): void - { - /** @var ICanLoadAddons $addonLoader */ - $addonLoader = $this->container->create(ICanLoadAddons::class); - - $this->container = $this->container->addRules($addonLoader->getActiveAddonConfig('dependencies')); - } - private function setupContainerForLogger(string $logChannel): void { $this->container = $this->container->addRule(LoggerInterface::class, [