diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-11-03 16:58:30 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-11-03 16:58:30 +0100 |
commit | 6d85a2995b0e42a5ee63578765913f878ccf800d (patch) | |
tree | 9f708f8c3df7b581671af81378dc5752a9a8dcc2 | |
parent | f8f38b06dfef0af2555124cf0d1ec55402aa8c8c (diff) | |
parent | 994768d99f0c0ea0e50f30774005a75e7533e105 (diff) | |
download | nextcloud-server-6d85a2995b0e42a5ee63578765913f878ccf800d.tar.gz nextcloud-server-6d85a2995b0e42a5ee63578765913f878ccf800d.zip |
Merge pull request #11918 from owncloud/pimple-composer
Update Pimple to V3.0
m--------- | 3rdparty | 0 | ||||
-rw-r--r-- | lib/base.php | 3 | ||||
-rw-r--r-- | lib/private/appframework/dependencyinjection/dicontainer.php | 20 | ||||
-rw-r--r-- | lib/private/appframework/utility/simplecontainer.php | 9 |
4 files changed, 17 insertions, 15 deletions
diff --git a/3rdparty b/3rdparty -Subproject c37dc06ce2906813dec3296d1a58c1628c206a3 +Subproject 17cdabdae0168bd678f859345b0b20a9ae7c964 diff --git a/lib/base.php b/lib/base.php index d428d45d90a..7fa53c3a074 100644 --- a/lib/base.php +++ b/lib/base.php @@ -457,8 +457,7 @@ class OC { // setup 3rdparty autoloader $vendorAutoLoad = OC::$THIRDPARTYROOT . '/3rdparty/autoload.php'; if (file_exists($vendorAutoLoad)) { - $loader = require_once $vendorAutoLoad; - $loader->add('Pimple',OC::$THIRDPARTYROOT . '/3rdparty/Pimple'); + require_once $vendorAutoLoad; } else { OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); OC_Template::printErrorPage('Composer autoloader not found, unable to continue.'); diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php index f7fee347215..98525ed3202 100644 --- a/lib/private/appframework/dependencyinjection/dicontainer.php +++ b/lib/private/appframework/dependencyinjection/dicontainer.php @@ -59,14 +59,14 @@ class DIContainer extends SimpleContainer implements IAppContainer{ $this->registerParameter('ServerContainer', \OC::$server); - $this['API'] = $this->share(function($c){ + $this->registerService('API', function($c){ return new API($c['AppName']); }); /** * Http */ - $this['Request'] = $this->share(function($c) { + $this->registerService('Request', function($c) { /** @var $c SimpleContainer */ /** @var $server SimpleContainer */ $server = $c->query('ServerContainer'); @@ -75,7 +75,7 @@ class DIContainer extends SimpleContainer implements IAppContainer{ return $server->getRequest(); }); - $this['Protocol'] = $this->share(function($c){ + $this->registerService('Protocol', function($c){ if(isset($_SERVER['SERVER_PROTOCOL'])) { return new Http($_SERVER, $_SERVER['SERVER_PROTOCOL']); } else { @@ -83,7 +83,7 @@ class DIContainer extends SimpleContainer implements IAppContainer{ } }); - $this['Dispatcher'] = $this->share(function($c) { + $this->registerService('Dispatcher', function($c) { return new Dispatcher( $c['Protocol'], $c['MiddlewareDispatcher'], @@ -97,7 +97,7 @@ class DIContainer extends SimpleContainer implements IAppContainer{ * Middleware */ $app = $this; - $this['SecurityMiddleware'] = $this->share(function($c) use ($app){ + $this->registerService('SecurityMiddleware', function($c) use ($app){ return new SecurityMiddleware( $c['Request'], $c['ControllerMethodReflector'], @@ -110,14 +110,14 @@ class DIContainer extends SimpleContainer implements IAppContainer{ ); }); - $this['CORSMiddleware'] = $this->share(function($c) { + $this->registerService('CORSMiddleware', function($c) { return new CORSMiddleware( $c['Request'], $c['ControllerMethodReflector'] ); }); - $this['SessionMiddleware'] = $this->share(function($c) use ($app) { + $this->registerService('SessionMiddleware', function($c) use ($app) { return new SessionMiddleware( $c['Request'], $c['ControllerMethodReflector'], @@ -126,7 +126,7 @@ class DIContainer extends SimpleContainer implements IAppContainer{ }); $middleWares = &$this->middleWares; - $this['MiddlewareDispatcher'] = $this->share(function($c) use (&$middleWares) { + $this->registerService('MiddlewareDispatcher', function($c) use (&$middleWares) { $dispatcher = new MiddlewareDispatcher(); $dispatcher->registerMiddleware($c['SecurityMiddleware']); $dispatcher->registerMiddleware($c['CORSMiddleware']); @@ -143,11 +143,11 @@ class DIContainer extends SimpleContainer implements IAppContainer{ /** * Utilities */ - $this['TimeFactory'] = $this->share(function($c){ + $this->registerService('TimeFactory', function($c){ return new TimeFactory(); }); - $this['ControllerMethodReflector'] = $this->share(function($c) { + $this->registerService('ControllerMethodReflector', function($c) { return new ControllerMethodReflector(); }); diff --git a/lib/private/appframework/utility/simplecontainer.php b/lib/private/appframework/utility/simplecontainer.php index a2d90138dfa..c6effed5b4b 100644 --- a/lib/private/appframework/utility/simplecontainer.php +++ b/lib/private/appframework/utility/simplecontainer.php @@ -7,7 +7,7 @@ namespace OC\AppFramework\Utility; * * SimpleContainer is a simple implementation of IContainer on basis of \Pimple */ -class SimpleContainer extends \Pimple implements \OCP\IContainer { +class SimpleContainer extends \Pimple\Container implements \OCP\IContainer { /** * @param string $name name of the service to query for @@ -35,10 +35,13 @@ class SimpleContainer extends \Pimple implements \OCP\IContainer { * @param bool $shared */ function registerService($name, \Closure $closure, $shared = true) { + if (!empty($this[$name])) { + unset($this[$name]); + } if ($shared) { - $this[$name] = \Pimple::share($closure); - } else { $this[$name] = $closure; + } else { + $this[$name] = parent::factory($closure); } } } |