123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace Symfony\Component\HttpKernel\DependencyInjection;
- use Symfony\Contracts\Service\ResetInterface;
- class ServicesResetter implements ResetInterface
- {
- private $resettableServices;
- private $resetMethods;
-
- public function __construct(\Traversable $resettableServices, array $resetMethods)
- {
- $this->resettableServices = $resettableServices;
- $this->resetMethods = $resetMethods;
- }
- public function reset()
- {
- foreach ($this->resettableServices as $id => $service) {
- foreach ((array) $this->resetMethods[$id] as $resetMethod) {
- if ('?' === $resetMethod[0] && !method_exists($service, $resetMethod = substr($resetMethod, 1))) {
- continue;
- }
- $service->$resetMethod();
- }
- }
- }
- }
|