X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=static%2Fdependencies.config.php;h=2b246f84529a7cc028bf61fec51bcfb8fc86b37c;hb=14b76e48f085a48ea44812cdc9057c7404f0102a;hp=c59d0478a195d1a4e482359e48001468c4d7bfa6;hpb=1874a32728142f2c12724562eb122eb1cd1370fe;p=friendica.git diff --git a/static/dependencies.config.php b/static/dependencies.config.php index c59d0478a1..2b246f8452 100644 --- a/static/dependencies.config.php +++ b/static/dependencies.config.php @@ -37,6 +37,9 @@ use Dice\Dice; use Friendica\App; use Friendica\Core\Cache; use Friendica\Core\Config; +use Friendica\Core\Hooks\Capabilities\ICanCreateInstances; +use Friendica\Core\Hooks\Capabilities\ICanRegisterInstances; +use Friendica\Core\Hooks\Model\DiceInstanceManager; use Friendica\Core\PConfig; use Friendica\Core\L10n; use Friendica\Core\Lock; @@ -60,6 +63,13 @@ return [ // one instance for the whole execution 'shared' => true, ], + \Friendica\Core\Addon\Capabilities\ICanLoadAddons::class => [ + 'instanceOf' => \Friendica\Core\Addon\Model\AddonLoader::class, + 'constructParams' => [ + [Dice::INSTANCE => '$basepath'], + [Dice::INSTANCE => Dice::SELF], + ], + ], '$basepath' => [ 'instanceOf' => Util\BasePath::class, 'call' => [ @@ -76,10 +86,32 @@ return [ $_SERVER ] ], - Config\Util\ConfigFileLoader::class => [ + DiceInstanceManager::class => [ + 'constructParams' => [ + [Dice::INSTANCE => Dice::SELF], + ] + ], + \Friendica\Core\Hooks\Util\HookFileManager::class => [ + 'constructParams' => [ + [Dice::INSTANCE => '$basepath'], + ], + ], + ICanRegisterInstances::class => [ + 'instanceOf' => DiceInstanceManager::class, + 'constructParams' => [ + [Dice::INSTANCE => Dice::SELF], + ], + ], + ICanCreateInstances::class => [ + 'instanceOf' => DiceInstanceManager::class, + 'constructParams' => [ + [Dice::INSTANCE => Dice::SELF], + ], + ], + Config\Util\ConfigFileManager::class => [ 'instanceOf' => Config\Factory\Config::class, 'call' => [ - ['createConfigFileLoader', [ + ['createConfigFileManager', [ [Dice::INSTANCE => '$basepath'], $_SERVER, ], Dice::CHAIN_CALL], @@ -88,19 +120,21 @@ return [ Config\ValueObject\Cache::class => [ 'instanceOf' => Config\Factory\Config::class, 'call' => [ - ['createCache', [$_SERVER], Dice::CHAIN_CALL], + ['createCache', [], Dice::CHAIN_CALL], ], ], App\Mode::class => [ 'call' => [ ['determineRunMode', [true, $_SERVER], Dice::CHAIN_CALL], - ['determine', [], Dice::CHAIN_CALL], + ['determine', [ + [Dice::INSTANCE => '$basepath'] + ], Dice::CHAIN_CALL], ], ], Config\Capability\IManageConfigValues::class => [ - 'instanceOf' => Config\Factory\Config::class, - 'call' => [ - ['create', [], Dice::CHAIN_CALL], + 'instanceOf' => Config\Model\DatabaseConfig::class, + 'constructParams' => [ + $_SERVER, ], ], PConfig\Capability\IManagePersonalConfigValues::class => [ @@ -127,7 +161,7 @@ return [ ], Database::class => [ 'constructParams' => [ - [Dice::INSTANCE => \Psr\Log\NullLogger::class], + [Dice::INSTANCE => Config\Model\ReadOnlyFileConfig::class], ], ], /** @@ -146,40 +180,40 @@ return [ [Dice::INSTANCE => '$basepath'], ], ], - /** - * Create a Logger, which implements the LoggerInterface - * - * Same as: - * $loggerFactory = new Factory\LoggerFactory(); - * $logger = $loggerFactory->create($channel, $configuration, $profiler); - * - * Attention1: We can use DICE for detecting dependencies inside "chained" calls too - * Attention2: The variable "$channel" is passed inside the creation of the dependencies per: - * $app = $dice->create(App::class, [], ['$channel' => 'index']); - * and is automatically passed as an argument with the same name - */ - LoggerInterface::class => [ + \Psr\Log\LoggerInterface::class => [ 'instanceOf' => \Friendica\Core\Logger\Factory\Logger::class, - 'constructParams' => [ - 'index', + 'call' => [ + ['create', [], Dice::CHAIN_CALL], ], + ], + \Friendica\Core\Logger\Type\SyslogLogger::class => [ + 'instanceOf' => \Friendica\Core\Logger\Factory\SyslogLogger::class, 'call' => [ ['create', [], Dice::CHAIN_CALL], ], ], - '$devLogger' => [ - 'instanceOf' => \Friendica\Core\Logger\Factory\Logger::class, - 'constructParams' => [ - 'dev', + \Friendica\Core\Logger\Type\StreamLogger::class => [ + 'instanceOf' => \Friendica\Core\Logger\Factory\StreamLogger::class, + 'call' => [ + ['create', [], Dice::CHAIN_CALL], ], + ], + \Friendica\Core\Logger\Type\ProfilerLogger::class => [ + 'instanceOf' => \Friendica\Core\Logger\Factory\ProfilerLogger::class, 'call' => [ - ['createDev', [], Dice::CHAIN_CALL], - ] + ['create', [], Dice::CHAIN_CALL], + ], ], \Friendica\Core\Logger\Capabilities\IHaveCallIntrospections::class => [ - 'instanceOf' => \Friendica\Core\Logger\Util\Introspection::class, + 'instanceOf' => \Friendica\Core\Logger\Util\Introspection::class, 'constructParams' => [ - \Friendica\Core\Logger\Util\Introspection::IGNORE_CLASS_LIST, + \Friendica\Core\Logger\Capabilities\IHaveCallIntrospections::IGNORE_CLASS_LIST, + ], + ], + '$devLogger' => [ + 'instanceOf' => \Friendica\Core\Logger\Factory\StreamLogger::class, + 'call' => [ + ['createDev', [], Dice::CHAIN_CALL], ], ], Cache\Capability\ICanCache::class => [ @@ -227,7 +261,7 @@ return [ IHandleSessions::class => [ 'instanceOf' => \Friendica\Core\Session\Factory\Session::class, 'call' => [ - ['createSession', [$_SERVER], Dice::CHAIN_CALL], + ['create', [$_SERVER], Dice::CHAIN_CALL], ['start', [], Dice::CHAIN_CALL], ], ],