X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FDI.php;h=a984bc934f6200fc50b373bd131ea0084a12b3f1;hb=3bca4fe2a64671d09e08346456cdfa6c12f996e9;hp=28df28a3258a864f087fd9a28c86dd118c15410b;hpb=7d7d310cc4f8661751fd2a62e33405c98f78aa62;p=friendica.git diff --git a/src/DI.php b/src/DI.php index 28df28a325..a984bc934f 100644 --- a/src/DI.php +++ b/src/DI.php @@ -1,6 +1,6 @@ setDependency(static::config(), static::profiler(), static::logger()); } /** * Returns a clone of the current dice instance - * This usefull for overloading the current instance with mocked methods during tests + * This useful for overloading the current instance with mocked methods during tests * * @return Dice */ @@ -65,11 +95,27 @@ abstract class DI /** * @return Database\Database */ - public static function dba() + public static function dba(): Database\Database { return self::$dice->create(Database\Database::class); } + /** + * @return \Friendica\Database\Definition\DbaDefinition + */ + public static function dbaDefinition(): Database\Definition\DbaDefinition + { + return self::$dice->create(Database\Definition\DbaDefinition::class); + } + + /** + * @return \Friendica\Database\Definition\ViewDefinition + */ + public static function viewDefinition(): Database\Definition\ViewDefinition + { + return self::$dice->create(Database\Definition\ViewDefinition::class); + } + // // "App" namespace instances // @@ -82,10 +128,7 @@ abstract class DI return self::$dice->create(App\Arguments::class); } - /** - * @return App\BaseURL - */ - public static function baseUrl() + public static function baseUrl(): App\BaseURL { return self::$dice->create(App\BaseURL::class); } @@ -98,14 +141,6 @@ abstract class DI return self::$dice->create(App\Mode::class); } - /** - * @return App\Module - */ - public static function module() - { - return self::$dice->create(App\Module::class); - } - /** * @return App\Page */ @@ -155,35 +190,45 @@ 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); + } + + public static function configFileManager(): Core\Config\Util\ConfigFileManager + { + return self::$dice->create(Core\Config\Util\ConfigFileManager::class); + } + + public static function keyValue(): Core\KeyValueStorage\Capability\IManageKeyValuePairs + { + return self::$dice->create(Core\KeyValueStorage\Capability\IManageKeyValuePairs::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); } /** @@ -195,33 +240,68 @@ 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); + } + + public static function session(): IHandleSessions + { + return self::$dice->create(Core\Session\Capability\IHandleSessions::class); + } + + public static function userSession(): IHandleUserSessions + { + return self::$dice->create(Core\Session\Capability\IHandleUserSessions::class); } /** - * @return Core\Session\ISession + * @return \Friendica\Core\Storage\Repository\StorageManager */ - public static function session() + public static function storageManager() { - return self::$dice->create(Core\Session\ISession::class); + return self::$dice->create(Core\Storage\Repository\StorageManager::class); } /** - * @return Core\StorageManager + * @return \Friendica\Core\System */ - public static function storageManager() + public static function system() { - return self::$dice->create(Core\StorageManager::class); + return self::$dice->create(Core\System::class); + } + + /** + * @return \Friendica\Navigation\SystemMessages + */ + public static function sysmsg() + { + return self::$dice->create(SystemMessages::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); + } + + public static function logCheck(): ICheckLoggerSettings + { + return self::$dice->create(LoggerSettingsCheck::class); + } + /** * @return LoggerInterface */ @@ -243,7 +323,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); } // @@ -307,11 +387,11 @@ abstract class DI } /** - * @return Factory\Api\Mastodon\FollowRequest + * @return Factory\Api\Mastodon\Poll */ - public static function mstdnFollowRequest() + public static function mstdnPoll() { - return self::$dice->create(Factory\Api\Mastodon\FollowRequest::class); + return self::$dice->create(Factory\Api\Mastodon\Poll::class); } /** @@ -330,6 +410,14 @@ abstract class DI return self::$dice->create(Factory\Api\Mastodon\Status::class); } + /** + * @return Factory\Api\Mastodon\StatusSource + */ + public static function mstdnStatusSource() + { + return self::$dice->create(Factory\Api\Mastodon\StatusSource::class); + } + /** * @return Factory\Api\Mastodon\ScheduledStatus */ @@ -362,6 +450,14 @@ abstract class DI return self::$dice->create(Factory\Api\Mastodon\Notification::class); } + /** + * @return Factory\Api\Twitter\Status + */ + public static function twitterStatus() + { + return self::$dice->create(Factory\Api\Twitter\Status::class); + } + /** * @return Factory\Api\Twitter\User */ @@ -379,11 +475,11 @@ abstract class DI // "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); } /** @@ -395,11 +491,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); } /** @@ -410,16 +506,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\IHTTPClient + * @return Network\HTTPClient\Capability\ICanSendHttpRequests */ public static function httpClient() { - return self::$dice->create(Network\IHTTPClient::class); + return self::$dice->create(Network\HTTPClient\Capability\ICanSendHttpRequests::class); } // @@ -427,19 +532,64 @@ 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 Contact\FriendSuggest\Factory\FriendSuggest; + */ + public static function fsuggestFactory() + { + return self::$dice->create(Contact\FriendSuggest\Factory\FriendSuggest::class); + } + + /** + * @return Content\Conversation\Factory\Timeline + */ + public static function TimelineFactory() + { + return self::$dice->create(Content\Conversation\Factory\Timeline::class); + } + + /** + * @return Content\Conversation\Factory\Community + */ + public static function CommunityFactory() + { + return self::$dice->create(Content\Conversation\Factory\Community::class); } /** - * @return Contact\Introduction\Depository\Introduction + * @return Content\Conversation\Factory\Channel + */ + public static function ChannelFactory() + { + return self::$dice->create(Content\Conversation\Factory\Channel::class); + } + + public static function userDefinedChannel(): Content\Conversation\Repository\UserDefinedChannel + { + return self::$dice->create(Content\Conversation\Repository\UserDefinedChannel::class); + } + + /** + * @return Content\Conversation\Factory\Network + */ + public static function NetworkFactory() + { + return self::$dice->create(Content\Conversation\Factory\Network::class); + } + + /** + * @return Contact\Introduction\Repository\Introduction */ public static function intro() { - return self::$dice->create(Contact\Introduction\Depository\Introduction::class); + return self::$dice->create(Contact\Introduction\Repository\Introduction::class); } /** @@ -450,9 +600,24 @@ abstract class DI return self::$dice->create(Contact\Introduction\Factory\Introduction::class); } - public static function permissionSet(): Security\PermissionSet\Depository\PermissionSet + public static function report(): Moderation\Repository\Report + { + return self::$dice->create(Moderation\Repository\Report::class); + } + + public static function reportFactory(): Moderation\Factory\Report + { + return self::$dice->create(Moderation\Factory\Report::class); + } + + public static function localRelationship(): Contact\LocalRelationship\Repository\LocalRelationship + { + return self::$dice->create(Contact\LocalRelationship\Repository\LocalRelationship::class); + } + + public static function permissionSet(): Security\PermissionSet\Repository\PermissionSet { - return self::$dice->create(Security\PermissionSet\Depository\PermissionSet::class); + return self::$dice->create(Security\PermissionSet\Repository\PermissionSet::class); } public static function permissionSetFactory(): Security\PermissionSet\Factory\PermissionSet @@ -460,9 +625,9 @@ abstract class DI return self::$dice->create(Security\PermissionSet\Factory\PermissionSet::class); } - public static function profileField(): Profile\ProfileField\Depository\ProfileField + public static function profileField(): Profile\ProfileField\Repository\ProfileField { - return self::$dice->create(Profile\ProfileField\Depository\ProfileField::class); + return self::$dice->create(Profile\ProfileField\Repository\ProfileField::class); } public static function profileFieldFactory(): Profile\ProfileField\Factory\ProfileField @@ -470,9 +635,9 @@ abstract class DI return self::$dice->create(Profile\ProfileField\Factory\ProfileField::class); } - public static function notification(): Navigation\Notifications\Depository\Notification + public static function notification(): Navigation\Notifications\Repository\Notification { - return self::$dice->create(Navigation\Notifications\Depository\Notification::class); + return self::$dice->create(Navigation\Notifications\Repository\Notification::class); } public static function notificationFactory(): Navigation\Notifications\Factory\Notification @@ -480,9 +645,9 @@ abstract class DI return self::$dice->create(Navigation\Notifications\Factory\Notification::class); } - public static function notify(): Navigation\Notifications\Depository\Notify + public static function notify(): Navigation\Notifications\Repository\Notify { - return self::$dice->create(Navigation\Notifications\Depository\Notify::class); + return self::$dice->create(Navigation\Notifications\Repository\Notify::class); } public static function notifyFactory(): Navigation\Notifications\Factory\Notify @@ -490,9 +655,28 @@ abstract class DI return self::$dice->create(Navigation\Notifications\Factory\Notify::class); } - public static function formattedNotificationFactory(): Navigation\Notifications\Factory\FormattedNotification + public static function formattedNotificationFactory(): Navigation\Notifications\Factory\FormattedNotify + { + return self::$dice->create(Navigation\Notifications\Factory\FormattedNotify::class); + } + + public static function formattedNavNotificationFactory(): Navigation\Notifications\Factory\FormattedNavNotification + { + return self::$dice->create(Navigation\Notifications\Factory\FormattedNavNotification::class); + } + + // + // "Federation" namespace instances + // + + public static function deliveryQueueItemFactory(): Federation\Factory\DeliveryQueueItem + { + return self::$dice->create(Federation\Factory\DeliveryQueueItem::class); + } + + public static function deliveryQueueItemRepo(): Federation\Repository\DeliveryQueueItem { - return self::$dice->create(Navigation\Notifications\Factory\FormattedNotification::class); + return self::$dice->create(Federation\Repository\DeliveryQueueItem::class); } // @@ -507,6 +691,11 @@ abstract class DI return self::$dice->create(Protocol\Activity::class); } + public static function dsprContact(): Protocol\Diaspora\Repository\DiasporaContact + { + return self::$dice->create(Protocol\Diaspora\Repository\DiasporaContact::class); + } + // // "Security" namespace instances // @@ -519,6 +708,15 @@ abstract class DI return self::$dice->create(Security\Authentication::class); } + // + // "User" namespace instances + // + + public static function userGServer(): User\Settings\Repository\UserGServer + { + return self::$dice->create(User\Settings\Repository\UserGServer::class); + } + // // "Util" namespace instances // @@ -547,14 +745,6 @@ abstract class DI return self::$dice->create(Util\DateTimeFormat::class); } - /** - * @return Util\FileSystem - */ - public static function fs() - { - return self::$dice->create(Util\FileSystem::class); - } - /** * @return Util\Profiler */ @@ -570,4 +760,9 @@ abstract class DI { return self::$dice->create(Util\Emailer::class); } + + public static function postMediaRepository(): Content\Post\Repository\PostMedia + { + return self::$dice->create(Content\Post\Repository\PostMedia::class); + } }