Join GitHub today
Integrating third party components
When we integrate third party components into the CMF, there are basically 3 options. The first 2 try to find a solution to not create unneeded hard dependencies.
1. Integration classes in the CMF bundle
Write integration classes in a CMF bundle and load service if 3rd party bundle is available. For example Sonata Admin classes
- Use case: We have a lot of CMF specific logic to maintain for the integration
2. Integration classes in 3rd party component/bundle
Write CMF integration classes in the 3rd party component/bundle and only load them if the CMF is available
- Use case: When this is just a small adapter to implement some CMF interface
3. New integration bundle
Write a new bundle which depends on both the CMF and the 3rd party component/bundle and write integration code in that new bundle.
- Use case: When the whole thing is quite big and out of scope of the base CMF and 3rd party component/bundle(s) that is/are integrated.
4. Integration in the application
Write the integration directly in the application using it.
- Use case: Application specific things that have no big potential for reusing.