phpstan / phpstan-symfony

Symfony extension for PHPStan
MIT License
698 stars 89 forks source link

make creation of ServiceMap and ParameterMap lazy #390

Open RobertMe opened 4 months ago

RobertMe commented 4 months ago

Currently one can not use PHPStans bootstrapFiles to create the container (dump) which could then be ready by symfony.containerXmlPath. This as the order of initialization results in the XmlServiceMapFactory / XmlParameterMapFactory create methods being called before the bootstrapFiles are executed. By making the ServiceMap / ParameterMap lazy these will only be created when actually used, which is after the bootstrapFiles have been executed.

RobertMe commented 4 months ago

Whoops, changes are PHP 7.2 and 7.3 incompatible. I will fix them if considered mergable etc. But if the changes to the interface are decided to be a breaking change and require a major version bump it might be considered to bump the minimum versions as well?

ondrejmirtes commented 4 months ago

Currently one can not use PHPStans bootstrapFiles to create the container (dump) which could then be ready

this is okay. I’m not willing to merge anything that would make the code more complex, because you can generate the container dump before running PHPStan. It’s been done like that for many years and people don’t have a problem with that.

For example you can use make or Composer scripts to still invoke a single command.