App::class, 'aclFormatter' => ACLFormatter::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, 'notify' => Notify::class, 'activity' => Activity::class, 'contentItem' => Content\Item::class, 'bbCodeVideo' => Content\Text\BBCode\Video::class, 'dtFormat' => DateTimeFormat::class, 'cache' => ICache::class, 'config' => Configuration::class, 'pConfig' => PConfiguration::class, 'l10n' => L10n::class, 'lock' => ILock::class, 'logger' => LoggerInterface::class, 'workerLogger' => WorkerLogger::class, 'devLogger' => '$devLogger', 'session' => ISession::class, 'dba' => Database::class, 'fs' => FileSystem::class, 'profiler' => Profiler::class, ]; /** @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); } }