X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FDI.php;h=708fb7d836da3fe54a7c72bc40d81c4ce1a19a3b;hb=3d8e82d95d9cc76b45a8db301b22c4111f335e1c;hp=cbc353161cef34017a4f10a796982104d6ba5e2e;hpb=ec4f53d56f9aa2f82b1cf327a7f0869251fb1dbb;p=friendica.git diff --git a/src/DI.php b/src/DI.php index cbc353161c..708fb7d836 100644 --- a/src/DI.php +++ b/src/DI.php @@ -1,6 +1,6 @@ create(App\Mode::class); } - /** - * @return App\Module - */ - public static function module() - { - return self::$dice->create(App\Module::class); - } - /** * @return App\Page */ @@ -123,6 +126,14 @@ abstract class DI return self::$dice->create(Content\Item::class); } + /** + * @return Content\Conversation + */ + public static function conversation() + { + return self::$dice->create(Content\Conversation::class); + } + /** * @return Content\Text\BBCode\Video */ @@ -136,35 +147,35 @@ abstract class DI // /** - * @return Core\Cache\ICache + * @return Core\Cache\Capability\ICanCache */ public static function cache() { - return self::$dice->create(Core\Cache\ICache::class); + return self::$dice->create(Core\Cache\Capability\ICanCache::class); } /** - * @return Core\Config\IConfig + * @return Core\Config\Capability\IManageConfigValues */ public static function config() { - return self::$dice->create(Core\Config\IConfig::class); + return self::$dice->create(Core\Config\Capability\IManageConfigValues::class); } /** - * @return Core\PConfig\IPConfig + * @return Core\PConfig\Capability\IManagePersonalConfigValues */ public static function pConfig() { - return self::$dice->create(Core\PConfig\IPConfig::class); + return self::$dice->create(Core\PConfig\Capability\IManagePersonalConfigValues::class); } /** - * @return Core\Lock\ILock + * @return Core\Lock\Capability\ICanLock */ public static function lock() { - return self::$dice->create(Core\Lock\ILock::class); + return self::$dice->create(Core\Lock\Capability\ICanLock::class); } /** @@ -176,33 +187,53 @@ abstract class DI } /** - * @return Core\Process + * @return Core\Worker\Repository\Process */ public static function process() { - return self::$dice->create(Core\Process::class); + return self::$dice->create(Core\Worker\Repository\Process::class); } /** - * @return Core\Session\ISession + * @return Core\Session\Capability\IHandleSessions */ public static function session() { - return self::$dice->create(Core\Session\ISession::class); + return self::$dice->create(Core\Session\Capability\IHandleSessions::class); } /** - * @return Core\StorageManager + * @return \Friendica\Core\Storage\Repository\StorageManager */ public static function storageManager() { - return self::$dice->create(Core\StorageManager::class); + return self::$dice->create(Core\Storage\Repository\StorageManager::class); + } + + /** + * @return \Friendica\Core\System + */ + public static function system() + { + return self::$dice->create(Core\System::class); } // // "LoggerInterface" instances // + /** + * Flushes the Logger instance, so the factory is called again + * (creates a new id and retrieves the current PID) + */ + public static function flushLogger() + { + $flushDice = self::$dice + ->addRule(LoggerInterface::class, self::$dice->getRule(LoggerInterface::class)) + ->addRule('$devLogger', self::$dice->getRule('$devLogger')); + static::init($flushDice); + } + /** * @return LoggerInterface */ @@ -224,7 +255,7 @@ abstract class DI */ public static function workerLogger() { - return self::$dice->create(Util\Logger\WorkerLogger::class); + return self::$dice->create(Core\Logger\Type\WorkerLogger::class); } // @@ -344,38 +375,35 @@ abstract class DI } /** - * @return Factory\Api\Twitter\User + * @return Factory\Api\Twitter\Status */ - public static function twitterUser() + public static function twitterStatus() { - return self::$dice->create(Factory\Api\Twitter\User::class); + return self::$dice->create(Factory\Api\Twitter\Status::class); } /** - * @return Factory\Notification\Notification + * @return Factory\Api\Twitter\User */ - public static function notification() + public static function twitterUser() { - return self::$dice->create(Factory\Notification\Notification::class); + return self::$dice->create(Factory\Api\Twitter\User::class); } - /** - * @return Factory\Notification\Introduction - */ - public static function notificationIntro() + public static function notificationIntro(): Navigation\Notifications\Factory\Introduction { - return self::$dice->create(Factory\Notification\Introduction::class); + return self::$dice->create(Navigation\Notifications\Factory\Introduction::class); } // // "Model" namespace instances // /** - * @return Model\Process + * @return \Friendica\Core\Worker\Repository\Process */ public static function modelProcess() { - return self::$dice->create(Model\Process::class); + return self::$dice->create(Core\Worker\Repository\Process::class); } /** @@ -387,11 +415,11 @@ abstract class DI } /** - * @return Model\Storage\IWritableStorage + * @return Core\Storage\Capability\ICanWriteToStorage */ public static function storage() { - return self::$dice->create(Model\Storage\IWritableStorage::class); + return self::$dice->create(Core\Storage\Capability\ICanWriteToStorage::class); } /** @@ -402,16 +430,25 @@ abstract class DI return self::$dice->create(Model\Log\ParsedLogIterator::class); } + // + // "Module" namespace + // + + public static function apiResponse(): Module\Api\ApiResponse + { + return self::$dice->create(Module\Api\ApiResponse::class); + } + // // "Network" namespace // /** - * @return Network\IHTTPRequest + * @return Network\HTTPClient\Capability\ICanSendHttpRequests */ - public static function httpRequest() + public static function httpClient() { - return self::$dice->create(Network\IHTTPRequest::class); + return self::$dice->create(Network\HTTPClient\Capability\ICanSendHttpRequests::class); } // @@ -419,43 +456,80 @@ abstract class DI // /** - * @return Repository\FSuggest; + * @return Contact\FriendSuggest\Repository\FriendSuggest; */ public static function fsuggest() { - return self::$dice->create(Repository\FSuggest::class); + return self::$dice->create(Contact\FriendSuggest\Repository\FriendSuggest::class); } /** - * @return Repository\Introduction + * @return Contact\FriendSuggest\Factory\FriendSuggest; */ - public static function intro() + public static function fsuggestFactory() { - return self::$dice->create(Repository\Introduction::class); + return self::$dice->create(Contact\FriendSuggest\Factory\FriendSuggest::class); } /** - * @return Repository\PermissionSet + * @return Contact\Introduction\Repository\Introduction */ - public static function permissionSet() + public static function intro() { - return self::$dice->create(Repository\PermissionSet::class); + return self::$dice->create(Contact\Introduction\Repository\Introduction::class); } /** - * @return Repository\ProfileField + * @return Contact\Introduction\Factory\Introduction */ - public static function profileField() + public static function introFactory() { - return self::$dice->create(Repository\ProfileField::class); + return self::$dice->create(Contact\Introduction\Factory\Introduction::class); } - /** - * @return Repository\Notification - */ - public static function notify() + public static function permissionSet(): Security\PermissionSet\Repository\PermissionSet + { + return self::$dice->create(Security\PermissionSet\Repository\PermissionSet::class); + } + + public static function permissionSetFactory(): Security\PermissionSet\Factory\PermissionSet + { + return self::$dice->create(Security\PermissionSet\Factory\PermissionSet::class); + } + + public static function profileField(): Profile\ProfileField\Repository\ProfileField + { + return self::$dice->create(Profile\ProfileField\Repository\ProfileField::class); + } + + public static function profileFieldFactory(): Profile\ProfileField\Factory\ProfileField + { + return self::$dice->create(Profile\ProfileField\Factory\ProfileField::class); + } + + public static function notification(): Navigation\Notifications\Repository\Notification + { + return self::$dice->create(Navigation\Notifications\Repository\Notification::class); + } + + public static function notificationFactory(): Navigation\Notifications\Factory\Notification + { + return self::$dice->create(Navigation\Notifications\Factory\Notification::class); + } + + public static function notify(): Navigation\Notifications\Repository\Notify + { + return self::$dice->create(Navigation\Notifications\Repository\Notify::class); + } + + public static function notifyFactory(): Navigation\Notifications\Factory\Notify + { + return self::$dice->create(Navigation\Notifications\Factory\Notify::class); + } + + public static function formattedNotificationFactory(): Navigation\Notifications\Factory\FormattedNotification { - return self::$dice->create(Repository\Notification::class); + return self::$dice->create(Navigation\Notifications\Factory\FormattedNotification::class); } //