@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 и что идёт на сайт.

Подскажите, пожалуйста, как правильно организовать структуру сайта?
Заранее спасибо!
  • Вопрос задан
  • 324 просмотра
Решения вопроса 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

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

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

Войти через центр авторизации
Похожие вопросы