Я запросил ту же информацию и получил возможность получить ответ Майка и Фабьена. Вот подробности:
Для одной логики с поддоменами: http://trac.symfony -project.org / wiki / HowToDoMultipleSitesWithSingleCore
Несколько сайтов на основе идентичных конфигураций
Это может быть странной темой, но я хотел настроить наш доступ к поддоменам, все с доступом SSL. Нам нужны были разные сайты, потому что SSL форсирует виртуальные домены на основе IP, что означало для нас разные корни документов. Такие как:
• www.mydomain.com
• admin.mydomain.com
• parents.mydomain.com
Однако это были сайты с одинаковой базовой схемой и плагинами. Преимущество этой конфигурации:
• Файлы общей модели: все классы XxxPeer будут связаны между приложениями.
Недостаток:
• Теперь у вас есть 2-n различных кэшей / журналов для мониторинга.
Если вы посмотрите на типичную структуру каталогов Symfony, она может быть разбита на две группы типов:
• Общие каталоги:
◦batch
◦config
◦data
◦doc
◦lib
◦plugins
◦test
• Специальные каталоги приложений:
◦apps
◦cache
◦log
◦web
Вот шаги, которые я предпринял:
• Разработка схемы и сайта www.yourdomain.com. Как только это начинает собираться вместе, вы можете приступить к разработке дополнительных сайтов.
• На новом сайте символическая ссылка на Общие каталоги
• На новом сайте создайте каталоги для конкретных приложений.
◦ПРИМЕЧАНИЕ. В веб-каталоге вам может потребоваться скопировать оригинальное содержимое (на ум приходят файлы css, js и .htaccess). Имейте это в виду, когда вы начинаете поднимать новый сайт.
• Запустите команду symfony fix-perms
Примечание: для меня VirtualMin создает эти новые сайты с новыми именами пользователей. Вам нужно будет убедиться, что все каталоги для конкретных приложений принадлежат этому имени пользователя, чтобы ваши команды очистки кэша и команды регистрации работали.
• Теперь у вас есть настроенный проект. Вы начинаете с того, что делаете:
◦symfony приложение MYAPP
Модуль fsymfony MYAPP MYMODULE
◦ ...
• Теперь вы обнаружите, что ваши приложения / MYAPP / modules / MYMODULE созданы, и у вас есть полный равноправный доступ ко всей базе данных
Ниже приведено описание одной логики с разными именами доменов: client1.com client2.com с использованием одних и тех же приложений.
Для одной логики с разными доменами:
«Вы могли бы направить их всех на один и тот же фронт-контроллер, а затем использовать фильтр или родительский класс действий для таких вещей, как изменение шаблона сайта и т. Д. Однако наличие фронт-контроллера на домен может быть более эффективным и совершенно хорошим путь.
Каждый домен может иметь свое собственное приложение, но основная часть логики должна быть реализована в плагинах, чтобы их можно было включить для каждого домена / приложения, которым они нужны, и совместно использовать при необходимости. Сколько кода требуется для приложения, я думаю, зависит от того, насколько разные сайты на самом деле. «