Тема: Структура простого рушія блогу на PHP
Доброго дня. Прошу допомоги. Вирішив написати свій блог(з нуля). До цього вже писав простий сайт, але тоді користувався відеокурсами Попова(не кидайте помідорами, самому соромно). Якщо подивитися на той нещасний код, трохи воротить у шлунку. Пройшло вже декілька місяців і якщо мені скажуть щось там додати/змінити я просто щось зламаю собі. Тому, щоб структурувати свої знання у PHP і затіяв написати щось просте, але саме правильно.
Знайшов декілька інтернет-ресурсів на цю тему(статті, відео), але зрозумів, що там або щось заскладне і не підходяще для маленького блогу, або чергова праця учня вищезгаданого Попова. Вирішив писати самостійно.
Зараз в мене структура рушія виглядає так:
index.php(через нього проходять всі запити, він вже далі залежно від введеної адреси за допомогою include підключає потрібний файл) → наприклад home.php, який відповідає за вивід всіх постів, і виглядає приблизно так:
// перевіряємо запити, наприклад щоб правильні значення передавалися в адресі
// виводимо основні змінні, такі як масив з усіма постами тощо
// якщо все правильно за допомогою include підключаємо шаблон сторінки home
// у іншому випадку підключаємо сторінку 404.html
Тепер шаблон сторінки home, просто звичайний HTML-код з невеличкими вставками PHP, де треба вивести, наприклад пости тощо. І ось головне питання: це правильно?
Просто якщо в майбутньому сторінок буде більше і треба буде, наприклад додати пункт меню у шапці сайту прийдеться змінювати багато файлів. Вирішив винести шапку і підвал сайту в окремі PHP-файли. Трохи подумавши вивів і початок сторінки до тегу <body>, на випадок якщо треба буде щось змінити між тегами <head>. І вийшло, що у головному файлі сторінки home.php в мене декілька інклудів. А у файлі шаблоні залишився тільки HTML-код для основного блоку на сторінці, наприклад блоку з постами. І якщо треба буде щось поміняти у верстці треба буде "бігати" між декількома файлами(блоками). Тому прошу допомоги, підкажіть:
1. Чи це взагалі правильний шлях? Пробував качати чужі рушії, але відкривши їх не розумів більшості коду. Також було забагато зайвого.
2. Як це правильно організувати у вигляді директорій?
Зараз виходить в мене так:
|simpleblog
|--admin
|--style
|----images
|----global.css
|--temlates
|-----blocks
|-------top.php
|-------header.php
|-------footer.php
|-------bottom.php
|-----home_tamplate.php
|--settings
|----database.php // підключення до бази даних
|----functions.php // основні функції
|--index.php
|--.htaccess
|--home.php
Буду надзвичайно радий за допомогу. Парюся вже тиждень і переписую цей свій недорушій третій раз, але хочеться зробити саме правильно...