public function inject(Container $container, $service, array $serviceConfig) { $propConfig = array(); if (array_key_exists('props', $serviceConfig)) { $propConfig = $serviceConfig['props']; } foreach ($propConfig as $propName => $propValue) { $convertedValue = $container->resolve($propValue); $service->{$propName} = $convertedValue; } return true; }
public function encapsulate(Container $container, $object, array $serviceConfig) { if (array_key_exists('interceptor', $serviceConfig)) { foreach ($serviceConfig['interceptor'] as $interceptorName) { $interceptor = $container->resolve($interceptorName); if (!is_object($interceptor)) { throw new \RuntimeException('The interceptor ' . $interceptorName . ' does not reference a known service'); } $interceptor->setDecorated($object); $object = $interceptor; } } return $object; }