- public static function __callStatic($name, $arguments)
- {
- switch ($name) {
- case 'app':
- return self::$dice->create(App::class, $arguments);
- case 'aclFormatter':
- return self::$dice->create(ACLFormatter::class, $arguments);
- case 'auth':
- return self::$dice->create(App\Authentication::class, $arguments);
- case 'args':
- return self::$dice->create(App\Arguments::class, $arguments);
- case 'baseUrl':
- return self::$dice->create(App\BaseURL::class, $arguments);
- case 'mode':
- return self::$dice->create(App\Mode::class, $arguments);
- case 'module':
- return self::$dice->create(App\Module::class, $arguments);
- case 'page':
- return self::$dice->create(App\Page::class, $arguments);
- case 'router':
- return self::$dice->create(App\Router::class, $arguments);
- case 'notify':
- return self::$dice->create(Notify::class, $arguments);
- case 'activity':
- return self::$dice->create(Activity::class, $arguments);
- case 'contentItem':
- return self::$dice->create(ContentItem::class, $arguments);
- case 'bbCodeVideo':
- return self::$dice->create(BBCodeVideo::class, $arguments);
- case 'dtFormat':
- return self::$dice->create(DateTimeFormat::class, $arguments);
- case 'cache':
- return self::$dice->create(ICache::class, $arguments);
- case 'config':
- return self::$dice->create(Configuration::class, $arguments);
- case 'pConfig':
- return self::$dice->create(PConfiguration::class, $arguments);
- case 'lock':
- return self::$dice->create(ILock::class, $arguments);
- case 'l10n':
- return self::$dice->create(L10n::class, $arguments);
- case 'logger':
- return self::$dice->create(LoggerInterface::class, $arguments);
- case 'devLogger':
- return self::$dice->create('$devLogger', $arguments);
- case 'workerLogger':
- return self::$dice->create(WorkerLogger::class, $arguments);
- case 'session':
- return self::$dice->create(ISession::class, $arguments);
- case 'dba':
- return self::$dice->create(Database::class, $arguments);
- case 'fs':
- return self::$dice->create(FileSystem::class, $arguments);
- default:
- return null;
- }
+ //
+ // common instances
+ //
+
+ /**
+ * @return App
+ */
+ public static function app()
+ {
+ return self::$dice->create(App::class);
+ }
+
+ /**
+ * @return Database\Database
+ */
+ public static function dba()
+ {
+ return self::$dice->create(Database\Database::class);
+ }
+
+ //
+ // "App" namespace instances
+ //
+
+ /**
+ * @return App\Authentication
+ */
+ public static function auth()
+ {
+ return self::$dice->create(App\Authentication::class);
+ }
+
+ /**
+ * @return App\Arguments
+ */
+ public static function args()
+ {
+ return self::$dice->create(App\Arguments::class);
+ }
+
+ /**
+ * @return App\BaseURL
+ */
+ public static function baseUrl()
+ {
+ return self::$dice->create(App\BaseURL::class);
+ }
+
+ /**
+ * @return App\Mode
+ */
+ public static function mode()
+ {
+ return self::$dice->create(App\Mode::class);
+ }
+
+ /**
+ * @return App\Module
+ */
+ public static function module()
+ {
+ return self::$dice->create(App\Module::class);
+ }
+
+ /**
+ * @return App\Page
+ */
+ public static function page()
+ {
+ return self::$dice->create(App\Page::class);
+ }
+
+ /**
+ * @return App\Router
+ */
+ public static function router()
+ {
+ return self::$dice->create(App\Router::class);
+ }
+
+ //
+ // "Content" namespace instances
+ //
+
+ /**
+ * @return Content\Item
+ */
+ public static function contentItem()
+ {
+ return self::$dice->create(Content\Item::class);
+ }
+
+ /**
+ * @return Content\Text\BBCode\Video
+ */
+ public static function bbCodeVideo()
+ {
+ return self::$dice->create(Content\Text\BBCode\Video::class);
+ }
+
+ //
+ // "Core" namespace instances
+ //
+
+ /**
+ * @return Core\Cache\ICache
+ */
+ public static function cache()
+ {
+ return self::$dice->create(Core\Cache\ICache::class);
+ }
+
+ /**
+ * @return Core\Config\IConfig
+ */
+ public static function config()
+ {
+ return self::$dice->create(Core\Config\IConfig::class);
+ }
+
+ /**
+ * @return Core\PConfig\IPConfig
+ */
+ public static function pConfig()
+ {
+ return self::$dice->create(Core\PConfig\IPConfig::class);
+ }
+
+ /**
+ * @return Core\Lock\ILock
+ */
+ public static function lock()
+ {
+ return self::$dice->create(Core\Lock\ILock::class);
+ }
+
+ /**
+ * @return Core\L10n
+ */
+ public static function l10n()
+ {
+ return self::$dice->create(Core\L10n::class);
+ }
+
+ /**
+ * @return Core\Process
+ */
+ public static function process()
+ {
+ return self::$dice->create(Core\Process::class);
+ }
+
+ /**
+ * @return Core\Session\ISession
+ */
+ public static function session()
+ {
+ return self::$dice->create(Core\Session\ISession::class);
+ }
+
+ /**
+ * @return Core\StorageManager
+ */
+ public static function storageManager()
+ {
+ return self::$dice->create(Core\StorageManager::class);
+ }
+
+ //
+ // "LoggerInterface" instances
+ //
+
+ /**
+ * @return LoggerInterface
+ */
+ public static function logger()
+ {
+ return self::$dice->create(LoggerInterface::class);
+ }
+
+ /**
+ * @return LoggerInterface
+ */
+ public static function devLogger()
+ {
+ return self::$dice->create('$devLogger');
+ }
+
+ /**
+ * @return LoggerInterface
+ */
+ public static function workerLogger()
+ {
+ return self::$dice->create(Util\Logger\WorkerLogger::class);
+ }
+
+ //
+ // "Factory" namespace instances
+ //
+
+ /**
+ * @return Factory\Api\Mastodon\Account
+ */
+ public static function mstdnAccount()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Account::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Emoji
+ */
+ public static function mstdnEmoji()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Emoji::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Field
+ */
+ public static function mstdnField()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Field::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\FollowRequest
+ */
+ public static function mstdnFollowRequest()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\FollowRequest::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Relationship
+ */
+ public static function mstdnRelationship()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Relationship::class);
+ }
+
+ /**
+ * @return Factory\Notification\Notification
+ */
+ public static function notification()
+ {
+ return self::$dice->create(Factory\Notification\Notification::class);
+ }
+
+ /**
+ * @return Factory\Notification\Introduction
+ */
+ public static function notificationIntro()
+ {
+ return self::$dice->create(Factory\Notification\Introduction::class);
+ }
+
+ //
+ // "Model" namespace instances
+ //
+
+ /**
+ * @return Model\User\Cookie
+ */
+ public static function cookie()
+ {
+ return self::$dice->create(Model\User\Cookie::class);
+ }
+
+ /**
+ * @return Model\Storage\IStorage
+ */
+ public static function storage()
+ {
+ return self::$dice->create(Model\Storage\IStorage::class);
+ }
+
+ //
+ // "Repository" namespace
+ //
+
+ /**
+ * @return Repository\FSuggest;
+ */
+ public static function fsuggest()
+ {
+ return self::$dice->create(Repository\FSuggest::class);
+ }
+
+ /**
+ * @return Repository\Introduction
+ */
+ public static function intro()
+ {
+ return self::$dice->create(Repository\Introduction::class);
+ }
+
+ /**
+ * @return Repository\PermissionSet
+ */
+ public static function permissionSet()
+ {
+ return self::$dice->create(Repository\PermissionSet::class);
+ }
+
+ /**
+ * @return Repository\ProfileField
+ */
+ public static function profileField()
+ {
+ return self::$dice->create(Repository\ProfileField::class);
+ }
+
+ /**
+ * @return Repository\Notify
+ */
+ public static function notify()
+ {
+ return self::$dice->create(Repository\Notify::class);
+ }
+
+ //
+ // "Protocol" namespace instances
+ //
+
+ /**
+ * @return Protocol\Activity
+ */
+ public static function activity()
+ {
+ return self::$dice->create(Protocol\Activity::class);
+ }
+
+ //
+ // "Util" namespace instances
+ //
+
+ /**
+ * @return Util\ACLFormatter
+ */
+ public static function aclFormatter()
+ {
+ return self::$dice->create(Util\ACLFormatter::class);
+ }
+
+ /**
+ * @return string
+ */
+ public static function basePath()
+ {
+ return self::$dice->create('$basepath');
+ }
+
+ /**
+ * @return Util\DateTimeFormat
+ */
+ public static function dtFormat()
+ {
+ return self::$dice->create(Util\DateTimeFormat::class);
+ }
+
+ /**
+ * @return Util\FileSystem
+ */
+ public static function fs()
+ {
+ return self::$dice->create(Util\FileSystem::class);
+ }
+
+ /**
+ * @return Util\Profiler
+ */
+ public static function profiler()
+ {
+ return self::$dice->create(Util\Profiler::class);
+ }
+
+ /**
+ * @return Util\Emailer
+ */
+ public static function emailer()
+ {
+ return self::$dice->create(Util\Emailer::class);