diff options
-rw-r--r-- | phpBB/phpbb/di/service_collection.php | 55 | ||||
-rw-r--r-- | phpBB/phpbb/di/service_collection_iterator.php | 65 |
2 files changed, 65 insertions, 55 deletions
diff --git a/phpBB/phpbb/di/service_collection.php b/phpBB/phpbb/di/service_collection.php index f0b387a5b1..032d299553 100644 --- a/phpBB/phpbb/di/service_collection.php +++ b/phpBB/phpbb/di/service_collection.php @@ -63,58 +63,3 @@ class service_collection extends \ArrayObject $this->offsetSet($name, null); } } - - -/** -* Iterator which load the services when they are requested -* -* @package phpBB3 -*/ -class service_collection_iterator extends \ArrayIterator -{ - protected $container; - - /** - * Construct an ArrayIterator for service_collection - * - * @param ContainerInterface $container Container object - * @param array $array The array or object to be iterated on. - * @param int $flags Flags to control the behaviour of the ArrayObject object. - * @see ArrayObject::setFlags() - */ - public function __construct(ContainerInterface $container, $array = array() , $flags = 0) - { - parent::__construct($array, $flags); - $this->container = $container; - } - - /** - * {@inheritdoc} - */ - public function offsetGet($index) - { - if (($task = parent::offsetGet($index)) == null) - { - $task = $this->container->get($index); - $this->offsetSet($index, $task); - } - - return $task; - } - - - /** - * {@inheritdoc} - */ - public function current() - { - if (($task = parent::current()) == null) - { - $name = $this->key(); - $task = $this->container->get($name); - $this->offsetSet($name, $task); - } - - return $task; - } -} diff --git a/phpBB/phpbb/di/service_collection_iterator.php b/phpBB/phpbb/di/service_collection_iterator.php new file mode 100644 index 0000000000..ace66d1906 --- /dev/null +++ b/phpBB/phpbb/di/service_collection_iterator.php @@ -0,0 +1,65 @@ +<?php +/** +* +* @package phpBB3 +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +namespace phpbb\di; + +use Symfony\Component\DependencyInjection\ContainerInterface; + +/** +* Iterator which load the services when they are requested +* +* @package phpBB3 +*/ +class service_collection_iterator extends \ArrayIterator +{ + protected $container; + + /** + * Construct an ArrayIterator for service_collection + * + * @param ContainerInterface $container Container object + * @param array $array The array or object to be iterated on. + * @param int $flags Flags to control the behaviour of the ArrayObject object. + * @see ArrayObject::setFlags() + */ + public function __construct(ContainerInterface $container, $array = array(), $flags = 0) + { + parent::__construct($array, $flags); + $this->container = $container; + } + + /** + * {@inheritdoc} + */ + public function offsetGet($index) + { + if (($task = parent::offsetGet($index)) == null) + { + $task = $this->container->get($index); + $this->offsetSet($index, $task); + } + + return $task; + } + + /** + * {@inheritdoc} + */ + public function current() + { + if (($task = parent::current()) == null) + { + $name = $this->key(); + $task = $this->container->get($name); + $this->offsetSet($name, $task); + } + + return $task; + } +} |