]> git.mxchange.org Git - friendica.git/blobdiff - src/DI.php
Improved order of systems
[friendica.git] / src / DI.php
index 89b638d226df3f99e4c4bf147c32215e1bc55165..7ed581254d038b059cd47c8e716ede449c960b66 100644 (file)
@@ -3,21 +3,6 @@
 namespace Friendica;
 
 use Dice\Dice;
-use Friendica\Core\Cache\ICache;
-use Friendica\Core\Config\Configuration;
-use Friendica\Core\Config\PConfiguration;
-use Friendica\Core\L10n\L10n;
-use Friendica\Core\Lock\ILock;
-use Friendica\Core\Session\ISession;
-use Friendica\Database\Database;
-use Friendica\Model\Notify;
-use Friendica\Protocol\Activity;
-use Friendica\Util\ACLFormatter;
-use Friendica\Content;
-use Friendica\Util\DateTimeFormat;
-use Friendica\Util\FileSystem;
-use Friendica\Util\Logger\WorkerLogger;
-use Friendica\Util\Profiler;
 use Psr\Log\LoggerInterface;
 
 /**
@@ -26,22 +11,6 @@ use Psr\Log\LoggerInterface;
  * There has to be a "method" phpDoc for each new class, containing result class for a proper matching
  *
  * @method static App app()
- * @method static ACLFormatter aclFormatter()
- * @method static Notify notify()
- * @method static Activity activity()
- * @method static Content\Item contentItem()
- * @method static Content\Text\BBCode\Video bbCodeVideo()
- * @method static DateTimeFormat dtFormat()
- * @method static ICache cache()
- * @method static Configuration config()
- * @method static PConfiguration pConfig()
- * @method static ILock lock()
- * @method static L10n l10n()
- * @method static LoggerInterface logger()
- * @method static LoggerInterface devLogger()
- * @method static LoggerInterface workerLogger()
- * @method static Profiler profiler()
- * @method static ISession session()
  * @method static App\Authentication auth()
  * @method static App\Arguments args()
  * @method static App\BaseURL baseUrl()
@@ -49,15 +18,36 @@ use Psr\Log\LoggerInterface;
  * @method static App\Module module()
  * @method static App\Page page()
  * @method static App\Router router()
- * @method static Database dba()
- * @method static FileSystem fs()
+ * @method static Content\Item contentItem()
+ * @method static Content\Text\BBCode\Video bbCodeVideo()
+ * @method static Core\Cache\ICache cache()
+ * @method static Core\Config\IConfiguration config()
+ * @method static Core\Config\IPConfiguration pConfig()
+ * @method static Core\Lock\ILock lock()
+ * @method static Core\L10n\L10n l10n()
+ * @method static Core\Process process()
+ * @method static Core\Session\ISession session()
+ * @method static Database\Database dba()
+ * @method static Factory\Mastodon\Account mstdnAccount()
+ * @method static Factory\Mastodon\FollowRequest mstdnFollowRequest()
+ * @method static Factory\Mastodon\Relationship mstdnRelationship()
+ * @method static Model\User\Cookie cookie()
+ * @method static Model\Notify notify()
+ * @method static Repository\Introduction intro()
+ * @method static Protocol\Activity activity()
+ * @method static Util\ACLFormatter aclFormatter()
+ * @method static Util\DateTimeFormat dtFormat()
+ * @method static Util\FileSystem fs()
+ * @method static Util\Profiler profiler()
+ * @method static LoggerInterface logger()
+ * @method static LoggerInterface devLogger()
+ * @method static LoggerInterface workerLogger()
  *
  */
-class DI
+abstract class DI
 {
        const CLASS_MAPPING = [
                'app'          => App::class,
-               'aclFormatter' => ACLFormatter::class,
                'auth'         => App\Authentication::class,
                'args'         => App\Arguments::class,
                'baseUrl'      => App\BaseURL::class,
@@ -65,23 +55,30 @@ class DI
                '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,
+               '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,
+               '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,
+               '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,
-               'workerLogger' => WorkerLogger::class,
                'devLogger'    => '$devLogger',
-               'session'      => ISession::class,
-               'dba'          => Database::class,
-               'fs'           => FileSystem::class,
-               'profiler'     => Profiler::class,
        ];
 
        /** @var Dice */