6 use Friendica\Core\Cache\ICache;
7 use Friendica\Core\Config\Configuration;
8 use Friendica\Core\Config\PConfiguration;
9 use Friendica\Core\L10n\L10n;
10 use Friendica\Core\Lock\ILock;
11 use Friendica\Core\Session\ISession;
12 use Friendica\Database\Database;
13 use Friendica\Model\Notify;
14 use Friendica\Protocol\Activity;
15 use Friendica\Util\ACLFormatter;
16 use Friendica\Content\Item as ContentItem;
17 use Friendica\Content\Text\BBCode\Video as BBCodeVideo;
18 use Friendica\Util\DateTimeFormat;
19 use Friendica\Util\FileSystem;
20 use Friendica\Util\Logger\WorkerLogger;
21 use Psr\Log\LoggerInterface;
24 * This class is capable of getting all dynamic created classes
26 * There has to be a "method" phpDoc for each new class, containing result class for a proper matching
28 * @method static App app()
29 * @method static ACLFormatter aclFormatter()
30 * @method static Notify notify()
31 * @method static Activity activity()
32 * @method static ContentItem contentItem()
33 * @method static BBCodeVideo bbCodeVideo()
34 * @method static DateTimeFormat dtFormat()
35 * @method static ICache cache()
36 * @method static Configuration config()
37 * @method static PConfiguration pConfig()
38 * @method static ILock lock()
39 * @method static L10n l10n()
40 * @method static LoggerInterface logger()
41 * @method static LoggerInterface devLogger()
42 * @method static LoggerInterface workerLogger()
43 * @method static ISession session()
44 * @method static App\Authentication auth()
45 * @method static App\Arguments args()
46 * @method static App\BaseURL baseUrl()
47 * @method static App\Mode mode()
48 * @method static App\Module module()
49 * @method static App\Page page()
50 * @method static App\Router router()
51 * @method static Database dba()
52 * @method static FileSystem fs()
60 public static function init(Dice $dice)
65 public static function __callStatic($name, $arguments)
69 return self::$dice->create(App::class, $arguments);
71 return self::$dice->create(ACLFormatter::class, $arguments);
73 return self::$dice->create(App\Authentication::class, $arguments);
75 return self::$dice->create(App\Arguments::class, $arguments);
77 return self::$dice->create(App\BaseURL::class, $arguments);
79 return self::$dice->create(App\Mode::class, $arguments);
81 return self::$dice->create(App\Module::class, $arguments);
83 return self::$dice->create(App\Page::class, $arguments);
85 return self::$dice->create(App\Router::class, $arguments);
87 return self::$dice->create(Notify::class, $arguments);
89 return self::$dice->create(Activity::class, $arguments);
91 return self::$dice->create(ContentItem::class, $arguments);
93 return self::$dice->create(BBCodeVideo::class, $arguments);
95 return self::$dice->create(DateTimeFormat::class, $arguments);
97 return self::$dice->create(ICache::class, $arguments);
99 return self::$dice->create(Configuration::class, $arguments);
101 return self::$dice->create(PConfiguration::class, $arguments);
103 return self::$dice->create(ILock::class, $arguments);
105 return self::$dice->create(L10n::class, $arguments);
107 return self::$dice->create(LoggerInterface::class, $arguments);
109 return self::$dice->create('$devLogger', $arguments);
111 return self::$dice->create(WorkerLogger::class, $arguments);
113 return self::$dice->create(ISession::class, $arguments);
115 return self::$dice->create(Database::class, $arguments);
117 return self::$dice->create(FileSystem::class, $arguments);