App::class, 'auth' => App\Authentication::class, 'args' => App\Arguments::class, 'baseUrl' => App\BaseURL::class, 'mode' => App\Mode::class, 'module' => App\Module::class, 'page' => App\Page::class, 'router' => App\Router::class, 'contentItem' => Content\Item::class, 'bbCodeVideo' => Content\Text\BBCode\Video::class, 'cache' => Core\Cache\ICache::class, 'config' => Core\Config\IConfiguration::class, 'pConfig' => Core\Config\IPConfiguration::class, 'l10n' => Core\L10n\L10n::class, 'lock' => Core\Lock\ILock::class, 'process' => Core\Process::class, 'session' => Core\Session\ISession::class, 'storageManager' => Core\StorageManager::class, 'dba' => Database\Database::class, 'mstdnAccount' => Factory\Mastodon\Account::class, 'mstdnFollowRequest' => Factory\Mastodon\FollowRequest::class, 'mstdnRelationship' => Factory\Mastodon\Relationship::class, 'cookie' => Model\User\Cookie::class, 'notify' => Model\Notify::class, 'storage' => Model\Storage\IStorage::class, 'intro' => Repository\Introduction::class, 'activity' => Protocol\Activity::class, 'aclFormatter' => Util\ACLFormatter::class, 'dtFormat' => Util\DateTimeFormat::class, 'fs' => Util\FileSystem::class, 'workerLogger' => Util\Logger\WorkerLogger::class, 'profiler' => Util\Profiler::class, 'logger' => LoggerInterface::class, 'devLogger' => '$devLogger', ]; /** @var Dice */ private static $dice; public static function init(Dice $dice) { self::$dice = $dice; } public static function __callStatic($name, $arguments) { return self::$dice->create(self::CLASS_MAPPING[$name], $arguments); } }