Всем доброго времени суток.
Учусь веб программированию. Какое-то время писал всё "от руки", мучался с 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 не установил... Именно перед его установкой и понял, что нужна грамотный каркас
Заранее благодарен за советы