@Serverprom

Как правильно организовать структуру сайта на PHP?

Здравствуйте!

Пишу сайт на PHP, использую Composer, NPM (с модулями вроде Moment.js и т.д.) и Webpack, планирую также писать юнит-тесты для кода на PHP, ещё планирую дописывать часть фронтенда на Vue.js.
В недрах back-end'а пашет шаблонизатор, которому скармливаются шаблоны из отдельной папки.
Исходники загружаются на Bitbucket, все изменения на сайт загружаю вручную с компьютера.
Сайт - не SPA, почти без API.
Сейчас сайт выглядит примерно так (папки node_modules и vendor добавлены в .gitignore, так что на скриншоте их нет):
5a7206e4392be881951760.png
Весь код на JS лежит внутри папок с шаблонами.

Хотел бы как-то разделить PHP и JS исходники, тесты, шаблоны для шаблонизатора, и то, что в итоге собирает Webpack и что идёт на сайт.

Подскажите, пожалуйста, как правильно организовать структуру сайта?
Заранее спасибо!
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
@Serverprom Автор вопроса
Всем большое спасибо за советы! Конечно, полностью всё сделать «по науке» не получится, так как у сайта нет единой точки входа и front-end генерирует PHP, но основные идеи я понял.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@smple
я делаю примерно так
в папке с проектом у меня папка www или frontend внутри нее лежит package.json и тут лежит весь фронтенд сайта
также есть папка api или backend внутри нее лежит composer.json и тут все что касается бэкенда
бэкенд обычно вынесене на поддомен api.project и фронт доступен по основному пути
для изоляции окружений я использую vagrant или docker или что угодно, конфиг лежит в корне проекта и лежат скрипты которые могут развернуть окружение заново.
запуск среды разработки
vagrant up // или докер или любая другая виртуализация
cd frontend
npm run dev

деплой чуть отличается но тоже довольно просто
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы