diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php index 439404f26ce6a..e994959a6ff4f 100644 --- a/lib/private/AppFramework/DependencyInjection/DIContainer.php +++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php @@ -67,13 +67,14 @@ use OCP\RichObjectStrings\IValidator; use OCP\Encryption\IManager; use OCA\WorkflowEngine\Manager; +use OC\CapabilitiesManager; class DIContainer extends SimpleContainer implements IAppContainer { /** * @var array */ - private $middleWares = array(); + private $middleWares = []; /** @var ServerContainer */ private $server; @@ -84,7 +85,7 @@ class DIContainer extends SimpleContainer implements IAppContainer { * @param array $urlParams * @param ServerContainer|null $server */ - public function __construct($appName, $urlParams = array(), ServerContainer $server = null){ + public function __construct($appName, $urlParams = [], ServerContainer $server = null){ parent::__construct(); $this['AppName'] = $appName; $this['urlParams'] = $urlParams; @@ -104,7 +105,7 @@ public function __construct($appName, $urlParams = array(), ServerContainer $ser /** * Core services */ - $this->registerService(IOutput::class, function($c){ + $this->registerService(IOutput::class, function(){ return new Output($this->getServer()->getWebRoot()); }); @@ -138,7 +139,7 @@ public function __construct($appName, $urlParams = array(), ServerContainer $ser $this->registerAlias(\OC\User\Session::class, \OCP\IUserSession::class); - $this->registerService(IServerContainer::class, function ($c) { + $this->registerService(IServerContainer::class, function () { return $this->getServer(); }); $this->registerAlias('ServerContainer', IServerContainer::class); @@ -166,7 +167,7 @@ public function __construct($appName, $urlParams = array(), ServerContainer $ser return $c->getServer()->getThemingDefaults(); }); - $this->registerService(IManager::class, function ($c) { + $this->registerService(IManager::class, function () { return $this->getServer()->getEncryptionManager(); }); @@ -178,7 +179,7 @@ public function __construct($appName, $urlParams = array(), ServerContainer $ser return $c->query(Validator::class); }); - $this->registerService(\OC\Security\IdentityProof\Manager::class, function ($c) { + $this->registerService(\OC\Security\IdentityProof\Manager::class, function () { return new \OC\Security\IdentityProof\Manager( $this->getServer()->query(\OC\Files\AppData\Factory::class), $this->getServer()->getCrypto(), @@ -339,16 +340,14 @@ public function __construct($appName, $urlParams = array(), ServerContainer $ser /** * @return \OCP\IServerContainer */ - public function getServer() - { + public function getServer(): IServerContainer { return $this->server; } /** * @param string $middleWare - * @return boolean|null */ - public function registerMiddleWare($middleWare) { + public function registerMiddleWare(string $middleWare) { $this->middleWares[] = $middleWare; } @@ -356,7 +355,7 @@ public function registerMiddleWare($middleWare) { * used to return the appname of the set application * @return string the name of your application */ - public function getAppName() { + public function getAppName(): string { return $this->query('AppName'); } @@ -364,7 +363,7 @@ public function getAppName() { * @deprecated use IUserSession->isLoggedIn() * @return boolean */ - public function isLoggedIn() { + public function isLoggedIn(): bool { return \OC::$server->getUserSession()->isLoggedIn(); } @@ -372,7 +371,7 @@ public function isLoggedIn() { * @deprecated use IGroupManager->isAdmin($userId) * @return boolean */ - public function isAdminUser() { + public function isAdminUser(): bool { $uid = $this->getUserId(); return \OC_User::isAdminUser($uid); } @@ -413,8 +412,8 @@ public function log($message, $level) { * * @param string $serviceName e.g. 'OCA\Files\Capabilities' */ - public function registerCapability($serviceName) { - $this->query('OC\CapabilitiesManager')->registerCapability(function() use ($serviceName) { + public function registerCapability(string $serviceName) { + $this->query(CapabilitiesManager::class)->registerCapability(function() use ($serviceName) { return $this->query($serviceName); }); } @@ -424,7 +423,7 @@ public function registerCapability($serviceName) { * @return mixed * @throws QueryException if the query could not be resolved */ - public function query($name) { + public function query(string $name) { try { return $this->queryNoFallback($name); } catch (QueryException $firstException) { @@ -444,7 +443,7 @@ public function query($name) { * @return mixed * @throws QueryException if the query could not be resolved */ - public function queryNoFallback($name) { + public function queryNoFallback(string $name) { $name = $this->sanitizeName($name); if ($this->offsetExists($name)) { diff --git a/lib/private/AppFramework/Utility/SimpleContainer.php b/lib/private/AppFramework/Utility/SimpleContainer.php index 47a6f95f747c7..3e30d01c6fc4a 100644 --- a/lib/private/AppFramework/Utility/SimpleContainer.php +++ b/lib/private/AppFramework/Utility/SimpleContainer.php @@ -1,4 +1,5 @@ sanitizeName($name); if ($this->offsetExists($name)) { return $this->offsetGet($name); @@ -128,7 +129,7 @@ public function query($name) { * @param string $name * @param mixed $value */ - public function registerParameter($name, $value) { + public function registerParameter(string $name, $value) { $this[$name] = $value; } @@ -141,7 +142,7 @@ public function registerParameter($name, $value) { * @param Closure $closure the closure to be called on service creation * @param bool $shared */ - public function registerService($name, Closure $closure, $shared = true) { + public function registerService(string $name, Closure $closure, bool $shared = true) { $name = $this->sanitizeName($name); if (isset($this[$name])) { unset($this[$name]); @@ -160,17 +161,17 @@ public function registerService($name, Closure $closure, $shared = true) { * @param string $alias the alias that should be registered * @param string $target the target that should be resolved instead */ - public function registerAlias($alias, $target) { + public function registerAlias(string $alias, string $target) { $this->registerService($alias, function (IContainer $container) use ($target) { return $container->query($target); }, false); } - /* + /** * @param string $name * @return string */ - protected function sanitizeName($name) { + protected function sanitizeName(string $name): string { if (isset($name[0]) && $name[0] === '\\') { return ltrim($name, '\\'); } diff --git a/lib/private/ServerContainer.php b/lib/private/ServerContainer.php index 40e261df4d699..e6526d814c201 100644 --- a/lib/private/ServerContainer.php +++ b/lib/private/ServerContainer.php @@ -1,4 +1,5 @@ namespaces[$appNamespace] = $appName; @@ -67,7 +68,7 @@ public function registerNamespace($appName, $appNamespace) { * @param string $appName * @param DIContainer $container */ - public function registerAppContainer($appName, DIContainer $container) { + public function registerAppContainer(string $appName, DIContainer $container) { $this->appContainers[strtolower(App::buildAppNamespace($appName, ''))] = $container; } @@ -77,7 +78,7 @@ public function registerAppContainer($appName, DIContainer $container) { * @return DIContainer * @throws QueryException */ - protected function getAppContainer($namespace, $sensitiveNamespace) { + protected function getAppContainer(string $namespace, string $sensitiveNamespace): DIContainer { if (isset($this->appContainers[$namespace])) { return $this->appContainers[$namespace]; } @@ -104,7 +105,7 @@ protected function getAppContainer($namespace, $sensitiveNamespace) { * @return mixed registered service for the given $name * @throws QueryException if the query could not be resolved */ - public function query($name) { + public function query(string $name) { $name = $this->sanitizeName($name); // In case the service starts with OCA\ we try to find the service in diff --git a/lib/public/AppFramework/IAppContainer.php b/lib/public/AppFramework/IAppContainer.php index 2fa0bcdd5aa0d..dd1aa8629807f 100644 --- a/lib/public/AppFramework/IAppContainer.php +++ b/lib/public/AppFramework/IAppContainer.php @@ -27,6 +27,7 @@ namespace OCP\AppFramework; use OCP\IContainer; +use OCP\IServerContainer; /** * Class IAppContainer @@ -42,20 +43,19 @@ interface IAppContainer extends IContainer { * @return string the name of your application * @since 6.0.0 */ - public function getAppName(); + public function getAppName(): string; /** * @return \OCP\IServerContainer * @since 6.0.0 */ - public function getServer(); + public function getServer(): IServerContainer; /** * @param string $middleWare - * @return boolean * @since 6.0.0 */ - public function registerMiddleWare($middleWare); + public function registerMiddleWare(string $middleWare); /** * Register a capability @@ -63,5 +63,5 @@ public function registerMiddleWare($middleWare); * @param string $serviceName e.g. 'OCA\Files\Capabilities' * @since 8.2.0 */ - public function registerCapability($serviceName); + public function registerCapability(string $serviceName); } diff --git a/lib/public/IContainer.php b/lib/public/IContainer.php index f7ca0697671c3..dd1e9a8b40264 100644 --- a/lib/public/IContainer.php +++ b/lib/public/IContainer.php @@ -1,4 +1,5 @@