Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.6k
Description
While using Symfony 2.7.6 (composer update won't let me update to 2.7.8 even with a ^2.7.0 dependency :/) andcsa/guzzle-bundle 2.0.4 andguzzlehttp/guzzle 6.1.1 I encountered a bug that lead to generate the following code inappDevDebugProjectContainer.php
(I removed some sensitive data):
/** * Gets the 'csa_guzzle.client.my_client' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \GuzzleHttp\Client A GuzzleHttp\Client instance. */protectedfunctiongetCsaGuzzle_Client_MyClientService() {$a =new \UL();$a->push($this->get('csa_guzzle.middleware.stopwatch'),'stopwatch');$a->push($this->get('csa_guzzle.middleware.logger'),'logger');$a->push($this->get('csa_guzzle.middleware.history'),'history');return$this->services['csa_guzzle.client.my_client'] =new \GuzzleHttp\Client(array('base_uri' =>'https://...','headers' =>array('Authorization' =>'Bearer ...','Content-Type' =>'...'),'on_stats' =>array(0 =>$this->get('csa_guzzle.data_collector.guzzle'),1 =>'addStats'),'handler' =>$a)); }
The service is defined from an abstract service using a factory:
https://github.com/csarrazi/CsaGuzzleBundle/blob/v2.0.4/src/Resources/config/middleware.xml#L9
and decorated in a compiler pass:
https://github.com/csarrazi/CsaGuzzleBundle/blob/v2.0.4/src/DependencyInjection/CompilerPass/MiddlewarePass.php#L117
I did some debug in PhpDumper and notice that in:
https://github.com/symfony/symfony/blob/v2.7.6/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php#L752
the$class
value returned is NULL and:
https://github.com/symfony/symfony/blob/v2.7.6/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php#L800
makes it look like$a = new \UL()
.
I don't know if it's a csa/guzzle-bundle misuse of DependencyInjection or a bug in the PhpDumper class.