Поддержка кода Symfony в отдельных проектах на отдельных доменах - PullRequest
0 голосов
/ 05 октября 2018

У меня есть два отдельных проекта в Symfony 4. Первый проект будет использоваться клиентами, а второй - сотрудниками.Оба проекта используют одни и те же объекты, репозитории, пространства имен, конфигурации и так далее.Единственная разница между проектами заключается в контроллерах и их содержании.Некоторые ограничения для отдельных проектов:

Домен Public (используется клиентами)

  • Публичный сервер, поэтому любой может подключиться к этому серверу.
  • Иногда и работает (онлайн).В других случаях он не работает и не работает (в автономном режиме), что приводит к тому, что пользователи видят ошибку «Этот сайт недоступен» в Google Chrome, например.
  • Не требуется сертификат клиента

Домен приватный (используется сотрудниками)

  • Доступен только по локальной сети.
  • Всегда включен и работает (онлайн)
  • Требуется сертификат клиента

Как вы можете видеть, общественное достояние имеет некоторые странные требования, это для максимальной безопасности.Чтобы разместить оба проекта на одном сервере, я использую виртуальные хосты на Apache и настроил их правильно.

Теперь у меня есть следующая проблема: Любые шансы, которые не сделаны внутри контроллера, я должен вручную скопировать и вставитьи во втором проекте.Поэтому я хочу, чтобы оба домена, оба веб-сайта использовали одни и те же ресурсы, поэтому мне нужно редактировать их только в одном месте.Как я мог этого добиться?Я представляю два решения:

  • Объедините два проекта в один, чтобы они использовали одни и те же ресурсы.Таким образом они будут использовать одни и те же объекты и т. Д., И я мог бы создать отдельный каталог для каждого домена в каталоге контроллера по умолчанию.Но я не думаю, что это возможно с моими ограничениями.
  • Так что в моем корневом веб-каталоге у меня есть два отдельных каталога для каждого проекта.Я мог бы создать третий каталог, который содержит все общие файлы (так что в основном каждый файл, за исключением контроллеров).Но как я могу ссылаться на общие файлы, такие как мои пользовательские объекты, но также и на composer.json, поскольку оба проекта будут использовать одни и те же зависимости.

Если кто-то может просто дать мне несколько советов о том, какрешить эту проблему, это очень поможет!

...