summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Application.php4
-rw-r--r--src/Container/Container.php110
-rw-r--r--src/Container/ContainerException.php11
-rw-r--r--src/Container/NotFoundException.php10
4 files changed, 4 insertions, 131 deletions
diff --git a/src/Application.php b/src/Application.php
index 674b3869..fa895d77 100644
--- a/src/Application.php
+++ b/src/Application.php
@@ -14,12 +14,12 @@ class Application extends Container
protected function registerBaseBindings()
{
- self::setInstance($this);
+ static::setInstance($this);
Container::setInstance($this);
$this->instance('app', $this);
$this->instance('container', $this);
$this->instance(Container::class, $this);
$this->instance(Application::class, $this);
- $this->instance(ContainerInterface::class, $this);
+ $this->bind(ContainerInterface::class, Application::class);
}
}
diff --git a/src/Container/Container.php b/src/Container/Container.php
index 59a17a04..44c57b6f 100644
--- a/src/Container/Container.php
+++ b/src/Container/Container.php
@@ -2,115 +2,9 @@
namespace Engelsystem\Container;
-use Psr\Container\ContainerExceptionInterface;
+use Illuminate\Container\Container as IlluminateContainer;
use Psr\Container\ContainerInterface;
-use Psr\Container\NotFoundExceptionInterface;
-class Container implements ContainerInterface
+class Container extends IlluminateContainer implements ContainerInterface
{
- /**
- * The globally available container
- *
- * @var static
- */
- protected static $instance;
-
- /**
- * Contains the shared instances
- *
- * @var mixed[]
- */
- protected $instances = [];
-
- /**
- * Finds an entry of the container by its identifier and returns it
- *
- * @param string $id Identifier of the entry to look for
- *
- * @throws NotFoundExceptionInterface No entry was found for **this** identifier
- * @throws ContainerExceptionInterface Error while retrieving the entry
- *
- * @return mixed Entry
- */
- public function get($id)
- {
- if ($this->has($id)) {
- return $this->resolve($id);
- }
-
- throw new NotFoundException(sprintf('The entry with the id "%s" could not be found', $id));
- }
-
- /**
- * Register a shared entry in the container
- *
- * @param string $abstract Identifier of the entry to set
- * @param mixed $instance Entry
- */
- public function instance($abstract, $instance)
- {
- $this->singleton($abstract, $instance);
- }
-
- /**
- * Register a shared entry as singleton in the container
- *
- * @param string $abstract
- * @param mixed $instance
- */
- public function singleton($abstract, $instance)
- {
- $this->instances[$abstract] = $instance;
- }
-
- /**
- * Returns true if the container can return an entry for the given identifier
- * Returns false otherwise
- *
- * `has($id)` returning true does not mean that `get($id)` will not throw an exception
- * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`
- *
- * @param string $id Identifier of the entry to look for
- *
- * @return bool
- */
- public function has($id)
- {
- return isset($this->instances[$id]);
- }
-
- /**
- * Resolve the requested object
- *
- * @param string $abstract
- * @return mixed
- */
- protected function resolve($abstract)
- {
- return $this->instances[$abstract];
- }
-
- /**
- * Get the globally available instance of the container
- *
- * @return self
- */
- public static function getInstance()
- {
- if (is_null(static::$instance)) {
- static::$instance = new static;
- }
-
- return static::$instance;
- }
-
- /**
- * Set the globally available instance of the container
- *
- * @param Container $container
- */
- public static function setInstance(Container $container)
- {
- static::$instance = $container;
- }
}
diff --git a/src/Container/ContainerException.php b/src/Container/ContainerException.php
deleted file mode 100644
index 3cdde506..00000000
--- a/src/Container/ContainerException.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-namespace Engelsystem\Container;
-
-use Exception;
-use Psr\Container\ContainerExceptionInterface;
-
-class ContainerException extends Exception implements ContainerExceptionInterface
-{
-
-}
diff --git a/src/Container/NotFoundException.php b/src/Container/NotFoundException.php
deleted file mode 100644
index a83be0b1..00000000
--- a/src/Container/NotFoundException.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-namespace Engelsystem\Container;
-
-use Psr\Container\NotFoundExceptionInterface;
-
-class NotFoundException extends ContainerException implements NotFoundExceptionInterface
-{
-
-}