It looks like Symfony is fairly capable of being integrated into Civi Extensions, but the documentation seems sparse. I am going through the Symfony docs/training but would like to see some good docs on how they play.

I also posted this in the dev group on Mattermost server.


1 Answer 1


This was answered on the CiviCRM Mattermost server. Symfony components are available through the CiviCRM development environment and not needed to be handled through the Symfony framework.

It was also suggested that I read several extensions and how they are built to get examples.

  • 1
    One thing to note is that Civi's version of dependency-injection isn't the same as what you might expect because it needs to support all the existing code. So for example whereas you would normally access a service by listing the interface you want and the container will provide an implementation for you, you usually need to access it with Civi::something(), e.g. Civi::cache(). And to override service implementations there's no config file, the closest thing I think is hook_civicrm_config.
    – Demerit
    Aug 22, 2021 at 13:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.