@Span4ev

Как создать универсальную структуру вложенности папок сайта для php, Bootstrap, SASS?

Всем доброго времени суток.

Учусь веб программированию. Какое-то время писал всё "от руки", мучался с float-ами, адаптивным дизайном, разметкой, добавлении в каждой HTML странице изменений и однажды меня всё это достало. Решил как-то упростить процесс обучения. И понеслось...
Начав искать ответ на вопрос, как можно добавлять изменения в HTML документах не в ручную в каждый файл, наткнулся на JavaScript, оттуда на jQuery, стал изучать jQuery. Что-то не заладилось и стал искать дальше и узнал про PHP и phpmyadmin, стал изучать PHP. Узнал про существование фреймворков.
Желая сделать нормальный готовый шаблон для практики PHP, узрел Bootstrap и понял - это то, чего так долго не хватало, вот она магия. Но нет... Попались видео о Layout Grid, Toast Grid, Flexbox, Smart Grid. Преимущества других сеток перед Bootstrap были для меня очевидны, однако я всё же остановился на Bootstrap для старта изучения нового подхода к вёрстке. В перспективе собирался перейти на Toast Grid.
Оттуда я уже узнал о препроцессорах. Встал выбор между LESS, SASS, Stylus. Пересмотрев десятки видео остановился на SASS. Оказалось не всё так просто. Выяснилось, что между началом работы ещё стоит Node.js и Gulp. Разобравшись с ними, пересмотрев туториалы и почитав статьи я пришёл к выводу, что для всего этого необходима универсальная структура вложенности папок. Теперь уже для изучения и практики не подходит метод index.html и папка CSS в папке проекта и дальше как пойдёт. Нужен хороший каркас, чтобы работать с SASS и Bootstrap и с использованием в будущем PHP и фреймворков, где у авторов видео есть своя структура папок : controllers, views, models. Чтобы всё не потом не переделывать, нужно сразу организовать какой-то скелет сайта, но как это всё совместить воедино ?
В общем, в один момент на меня свалились : Bootstrap, PHP, MVC, Gulp, node.js, SASS, jQuery и т.д., и сейчас я в ступоре. Я не буду хвататься за всё подряд и начну с освоения Bootstrap и SASS, а далее уже буду переделывать всё в PHP. Я понимаю, что единой универсальной структуры в природе не существует, каждый делает по своему, но ведь все продвинутые веб разработчики уже освоили всё вышеперечисленное и даже больше, и спрашиваю совета, как мне всё организовать на уровне вложенности папок и файлов и что куда помещать? К примеру: index.php, CSS, JS, img в папку libs или public, ведь ещё есть .htaccess; файлы Gulp в папку app, а ещё будет PHP с controllers, views, models...

Как вы организуете свои проекты ? Есть ли заготовленный шаблон для будущих проектов ? Учитываете всё сразу или постепенно внедряете и добавляете всё по мере необходимости ? Как новичку правильно стартовать, чтобы не переделывать потом всё с нуля и иметь в голове представление о том, как всё это работает и понимать общую концепцию сайтостроения и уровней вложенности ?

На данный момент имеется папка с проектом, назовём её Global.

  • CSS /
    • bootstrap.css
    • font-awesome.min.css
    • style.css


  • img /
  • js /
    • bootstrap.js
    • font-awesome.min.css
    • jquery-3.2.0.slim.min.js
    • npm.js


  • .access /
  • gulpfile.js
  • index.html
  • package.json


И потом всё будет переделываться в PHP. Ещё даже SASS не установил... Именно перед его установкой и понял, что нужна грамотный каркас

Заранее благодарен за советы
  • Вопрос задан
  • 1818 просмотров
Решения вопроса 1
devspec
@devspec
Помогло? Отметь решением
На чистом PHP уже мало кто пишет.
Воспользуйтесь любым фреймворком - например, laravel. Там структура папок уже выстроена как положено, нужно её только изучить и пользоваться, а не изобретать очередной велосипед.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IvanBlacky
@IvanBlacky
back-end разработчик
Для фронтенда лучше иметь 2 отдельных папки: dev и production с дублирующими вложенными папками.
В папке dev храните SASS (папка styles), чистый JS (папка scripts или js) ("чистый", в смысле "исходный", здесь же можно и babel, и всякое похожее) и картинки (img) в исходном разрешении. Там же папку с чистым html/php.
Gulp пусть собирает все в папку production, где в styles льется CSS, в scripts – обработанный JS (например, линтом, префиксером и минификатором), сжатые картинки в img и html/php.

Для бэка все просто: используйте, по возможности, один require в каждой странице, а тот скрипт собирайте из всех остальных. Все, что касается фронта помещайте в глобальную папку views, а скрипты для бека – в папки model и controller. Надеюсь, все понятно разъяснил
Ответ написан
Ваш ответ на вопрос

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

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