How to structure a Symfony 2 application to support multiple applications?

Background

We plan to port our current code to the Symfony2 project.

In our case, each application is considered the country in which we operate. In this way:

  • Each application has a unique top-level domain.
  • Each application will have the same subdomains.
  • Each application has its own database. The database structure for each application is the same.
  • Applications will use the same business logic. Any differences in business logic will be abstracted into the configuration file. There must be a basic configuration file that applications can override with application configurations.
  • Applications will share most of the templates, but there may also be application-specific templates.

Possible approaches

  • Several repositions
    • Each application will be a Symfony2 project.
    • All development will take place in bundles, with each application downloading the same packages through the composer.
    • This approach will make development rather cumbersome. Ideally, I would like to test any changes in all countries without starting a composer, etc.
  • Multiple applications within the same repo with multiple cores
    • Each application will have its own application in a folder app/, as suggested in here .
    • Duplicating the entire application folder seems a bit hacky. Not sure if this is the recommended practice?
  • Change Symfony2 to support multiple applications
    • Change the core / console of Symfony2 / Regardless of multiple application support.
    • Are there already existing packages / examples?
  • [Your idea here]
    • ?

Symfony2?

+3
1
+2

All Articles