X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=static%2Fdependencies.config.php;h=3df54b79e61106c3485e0377d8dd90e4dd359ef7;hb=ef7aed5d1f47445d412306d4472ec50378d02603;hp=1399fe728512288e8abb1d3dca5e7f8c4b5a8a62;hpb=86bf2ee45a7c7409dbc470b5b1706b19e7e40507;p=friendica.git diff --git a/static/dependencies.config.php b/static/dependencies.config.php index 1399fe7285..3df54b79e6 100644 --- a/static/dependencies.config.php +++ b/static/dependencies.config.php @@ -1,16 +1,22 @@ . + * * The configuration defines "complex" dependencies inside Friendica * So this classes shouldn't be simple or their dependencies are already defined here. * @@ -26,15 +32,33 @@ use Psr\Log\LoggerInterface; * - $a = new ClassA($creationPassedVariable); * */ + +use Dice\Dice; +use Friendica\App; +use Friendica\Core\Cache; +use Friendica\Core\Config; +use Friendica\Core\L10n; +use Friendica\Core\Lock\ILock; +use Friendica\Core\Process; +use Friendica\Core\Session\ISession; +use Friendica\Core\StorageManager; +use Friendica\Database\Database; +use Friendica\Factory; +use Friendica\Model\Storage\IStorage; +use Friendica\Model\User\Cookie; +use Friendica\Network; +use Friendica\Util; +use Psr\Log\LoggerInterface; + return [ - '*' => [ + '*' => [ // marks all class result as shared for other creations, so there's just // one instance for the whole execution 'shared' => true, ], - '$basepath' => [ - 'instanceOf' => Util\BasePath::class, - 'call' => [ + '$basepath' => [ + 'instanceOf' => Util\BasePath::class, + 'call' => [ ['getPath', [], Dice::CHAIN_CALL], ], 'constructParams' => [ @@ -42,58 +66,64 @@ return [ $_SERVER ] ], - Util\BasePath::class => [ + Util\BasePath::class => [ 'constructParams' => [ dirname(__FILE__, 2), $_SERVER ] ], Util\ConfigFileLoader::class => [ - 'shared' => true, + 'shared' => true, 'constructParams' => [ [Dice::INSTANCE => '$basepath'], ], ], - Config\Cache\ConfigCache::class => [ + Config\Cache::class => [ 'instanceOf' => Factory\ConfigFactory::class, 'call' => [ ['createCache', [], Dice::CHAIN_CALL], ], ], - App\Mode::class => [ - 'call' => [ + App\Mode::class => [ + 'call' => [ + ['determineRunMode', [true, $_SERVER], Dice::CHAIN_CALL], ['determine', [], Dice::CHAIN_CALL], ], ], - Config\Configuration::class => [ + Config\IConfig::class => [ 'instanceOf' => Factory\ConfigFactory::class, - 'call' => [ + 'call' => [ ['createConfig', [], Dice::CHAIN_CALL], ], ], - Config\PConfiguration::class => [ + \Friendica\Core\PConfig\IPConfig::class => [ 'instanceOf' => Factory\ConfigFactory::class, - 'call' => [ + 'call' => [ ['createPConfig', [], Dice::CHAIN_CALL], ] ], - Database::class => [ + Database::class => [ 'constructParams' => [ - [DICE::INSTANCE => \Psr\Log\NullLogger::class], + [Dice::INSTANCE => \Psr\Log\NullLogger::class], $_SERVER, ], ], /** - * Creates the Util\BaseURL + * Creates the App\BaseURL * * Same as: - * $baseURL = new Util\BaseURL($configuration, $_SERVER); + * $baseURL = new App\BaseURL($configuration, $_SERVER); */ - Util\BaseURL::class => [ + App\BaseURL::class => [ 'constructParams' => [ $_SERVER, ], ], + App\Page::class => [ + 'constructParams' => [ + [Dice::INSTANCE => '$basepath'], + ], + ], /** * Create a Logger, which implements the LoggerInterface * @@ -106,31 +136,90 @@ return [ * $app = $dice->create(App::class, [], ['$channel' => 'index']); * and is automatically passed as an argument with the same name */ - LoggerInterface::class => [ + LoggerInterface::class => [ 'instanceOf' => Factory\LoggerFactory::class, + 'constructParams' => [ + 'index', + ], 'call' => [ - ['create', [], Dice::CHAIN_CALL], + ['create', ['index'], Dice::CHAIN_CALL], ], ], - '$devLogger' => [ + '$devLogger' => [ 'instanceOf' => Factory\LoggerFactory::class, + 'constructParams' => [ + 'dev', + ], 'call' => [ ['createDev', [], Dice::CHAIN_CALL], ] ], - Cache\ICache::class => [ - 'instanceOf' => Factory\CacheDriverFactory::class, + Cache\ICache::class => [ + 'instanceOf' => Factory\CacheFactory::class, 'call' => [ ['create', [], Dice::CHAIN_CALL], ], ], - Cache\IMemoryCache::class => [ - 'instanceOf' => Cache\ICache::class, + Cache\IMemoryCache::class => [ + 'instanceOf' => Factory\CacheFactory::class, + 'call' => [ + ['create', [], Dice::CHAIN_CALL], + ], ], - ILock::class => [ - 'instanceOf' => Factory\LockDriverFactory::class, + ILock::class => [ + 'instanceOf' => Factory\LockFactory::class, 'call' => [ ['create', [], Dice::CHAIN_CALL], ], ], + App\Arguments::class => [ + 'instanceOf' => App\Arguments::class, + 'call' => [ + ['determine', [$_SERVER, $_GET], Dice::CHAIN_CALL], + ], + ], + App\Module::class => [ + 'instanceOf' => App\Module::class, + 'call' => [ + ['determineModule', [], Dice::CHAIN_CALL], + ], + ], + Process::class => [ + 'constructParams' => [ + [Dice::INSTANCE => '$basepath'], + ], + ], + App\Router::class => [ + 'constructParams' => [ + $_SERVER, + __DIR__ . '/routes.config.php', + null + ], + ], + L10n::class => [ + 'constructParams' => [ + $_SERVER, $_GET + ], + ], + ISession::class => [ + 'instanceOf' => Factory\SessionFactory::class, + 'call' => [ + ['createSession', [$_SERVER], Dice::CHAIN_CALL], + ['start', [], Dice::CHAIN_CALL], + ], + ], + Cookie::class => [ + 'constructParams' => [ + $_SERVER, $_COOKIE + ], + ], + IStorage::class => [ + 'instanceOf' => StorageManager::class, + 'call' => [ + ['getBackend', [], Dice::CHAIN_CALL], + ], + ], + Network\IHTTPRequest::class => [ + 'instanceOf' => Network\HTTPRequest::class, + ] ];