Всем привет!
Недавно начал изучение php и решил написать блог со скромным функционалом (добавление в админке, вывод категорий, постов).
Пишу в процедурном стиле, т.к в ООП пока не силен, с базой работаю посредством redbeanphp.
Запросы и подключение к базе в отдельном файле, обработчики форм тоже отдельно, работаю с ними через ajax.
Роутинг сделал следующим образом:
В URL передаю гет параметром id категории/поста, во вьюхе к нему обращаюсь и вывожу либо список постов, если это категория, либо сам пост.
Каркас делаю через require 'header.php' etc.
Вопрос - насколько данные подходы устаревшие и что можно почитать, чтобы научиться писать лучше?
Сейчас нужно копать в REST-подход, когда сервер выступает лишь прослойкой между БД и клиентом и отдает данные по запросам к API. Весь MVC перекладывается на фронтенд — тут вступают в ход фреймворки React/Redux/Angular.
Еще становится популярным GraphQL. Библиотека минимизирует лишнюю информацию, которую клиент запрашивает у сервера.
Vuejs забыл. Имхо, его и нужно копать. Ангуляр тоже неплох по-своему, но это оверхед в 95% случаев.
У GraphQL слишком много минусов, но идея интересная. Например, нет четкого понимания как работать с циклическими запросами, а в итоге множество костылей.
Посмотри Codeigniter. Лёгкий фреймворк, в котором есть все для того, чтобы начать разрабатывать программу, а не инструменты для нее.
Redux/Huyux это все хорошо, но не для текущего уровня.
Если есть желание понять как все работает на чистом PHP - конечно же попробуй. Я бы посоветовал тогда не использовать никаких сторонних пакетов тип redbeanphp и т.д. В чистом PHP все есть для работой с базой данных. В конечном счете все модули/пакеты/фреймворки используют внутри также эти инструменты.
На фреймворк переходи когда появится понимание того, что ты устал создавать инструменты, и наконец хочешь создать программу.
Из фреймворков Codeigniter самый простой для новичка.