Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
7 / 7 |
CRAP | |
100.00% |
11 / 11 |
| service_collection | |
100.00% |
1 / 1 |
|
100.00% |
7 / 7 |
7 | |
100.00% |
11 / 11 |
| __construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
|||
| getIterator | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| offsetExists | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| offsetGet | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| add | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
| add_service_class | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
| get_service_classes | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| <?php | |
| /** | |
| * | |
| * This file is part of the phpBB Forum Software package. | |
| * | |
| * @copyright (c) phpBB Limited <https://www.phpbb.com> | |
| * @license GNU General Public License, version 2 (GPL-2.0) | |
| * | |
| * For full copyright and license information, please see | |
| * the docs/CREDITS.txt file. | |
| * | |
| */ | |
| namespace phpbb\di; | |
| use Symfony\Component\DependencyInjection\ContainerInterface; | |
| /** | |
| * Collection of services to be configured at container compile time. | |
| */ | |
| class service_collection extends \ArrayObject | |
| { | |
| /** | |
| * @var \Symfony\Component\DependencyInjection\ContainerInterface | |
| */ | |
| protected $container; | |
| /** | |
| * @var array | |
| */ | |
| protected $service_classes; | |
| /** | |
| * Constructor | |
| * | |
| * @param ContainerInterface $container Container object | |
| */ | |
| public function __construct(ContainerInterface $container) | |
| { | |
| $this->container = $container; | |
| $this->service_classes = array(); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getIterator() | |
| { | |
| return new service_collection_iterator($this); | |
| } | |
| // Because of a PHP issue we have to redefine offsetExists | |
| // (even with a call to the parent): | |
| // https://bugs.php.net/bug.php?id=66834 | |
| // https://bugs.php.net/bug.php?id=67067 | |
| // But it triggers a sniffer issue that we have to skip | |
| // @codingStandardsIgnoreStart | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function offsetExists($index) | |
| { | |
| return parent::offsetExists($index); | |
| } | |
| // @codingStandardsIgnoreEnd | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function offsetGet($index) | |
| { | |
| return $this->container->get($index); | |
| } | |
| /** | |
| * Add a service to the collection | |
| * | |
| * @param string $name The service name | |
| * @return null | |
| */ | |
| public function add($name) | |
| { | |
| $this->offsetSet($name, null); | |
| } | |
| /** | |
| * Add a service's class to the collection | |
| * | |
| * @param string $service_id | |
| * @param string $class | |
| */ | |
| public function add_service_class($service_id, $class) | |
| { | |
| $this->service_classes[$service_id] = $class; | |
| } | |
| /** | |
| * Get services' classes | |
| * | |
| * @return array | |
| */ | |
| public function get_service_classes() | |
| { | |
| return $this->service_classes; | |
| } | |
| } |