Рабочее окружение готово. База данных худо-бедно спроектирована, теперь пора определиться с фаловой структурой проекта.
Считаю что важно это сделать зарание. Так будет проще в последствии.

В своей повседневной работе я раньше скидывал все файлы с прайс-листами, коммерческими предложениями, договорами и т.д. в одну папку. Переодически эта папка захламлялась настолько, что её невозможно было разобрать и всё летело в карзину. Потом стал в рабочей папке делать подпапки с именами типа Договоры, прайсы и т.д. В общем появилось некоторое ощущения порядка и стало проще.

Думаю что при написании программы порядок нужно поддерживать с самого начала и постоянно придерживаться установленных правил.

Начну с структуры папок. Она будет выглядеть следующим образом:

core // Основная папка где будут храниться файлы системы
—classes // Папка с классами. В последствие возможны подпапки
—config // Конфигурационные файлы
—templates // Файлы с шаблонами
—-css // css файлы
—-img // картинки иконки, фоны и т.д.
—-js // javascript файлы
app // Здесь будут находиться папки с файлами модулей
—blog
—cpanel
—pages
vendor // Здесь будут сторонние библиотеки если понадобятся

Теперь у меня есть понимание какой файл куда определить. Это удобно.

Дальше принимаю за соглашение с самим с собой некоторые правила наименования файлов.

Файлы с классами должны называться в стиле CamelCase и заканчиваться на .class.php, а также должны носить понятные названия. Например: SystemSetting.class.php или BlogController.class.php.

Таким образом легко разобраться в структуре проекта.

Безусловно для самого кода так же должны быть приняты определённые соглашения. Но они уже есть в виде стандартов PSR. Для этого я установил PHPSniffer в свой редактор. Он должен будет следить за соблюдением мной стандартов написания кода.

Продолжение следует…