b82d2fef3c0567b042ee0872887cfa740bf9b6da
[yaffs-website] / vendor / symfony / http-kernel / DependencyInjection / ServicesResetter.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\HttpKernel\DependencyInjection;
13
14 /**
15  * Resets provided services.
16  *
17  * @author Alexander M. Turek <me@derrabus.de>
18  * @author Nicolas Grekas <p@tchwork.com>
19  *
20  * @internal
21  */
22 class ServicesResetter
23 {
24     private $resettableServices;
25     private $resetMethods;
26
27     public function __construct(\Traversable $resettableServices, array $resetMethods)
28     {
29         $this->resettableServices = $resettableServices;
30         $this->resetMethods = $resetMethods;
31     }
32
33     public function reset()
34     {
35         foreach ($this->resettableServices as $id => $service) {
36             $service->{$this->resetMethods[$id]}();
37         }
38     }
39 }