@websiteserf

Нормальный ли принцип CMS я сформулировал?

Мне хотелось бы знать, нормальную ли структуру движка я сформулировал.
Идея в следующем:
Имеется класс router который запускается функцией RUN (router::run(Имя_модуля))
Роутер создает контейнер данных, содержащий все переменные POST GET FILES и вычисляет метод запроса (POST или GET) Через $_SERVER['REQUEST_METHOD']. При поступлении POST запроса, берет из переменной "act" Имя функции-обработчика, активизирует класс postHandler::actИмя_Функции_Обработчика для модуля, чье имя вписано в аргумент функции RUN, и наоборот при поступлении GET Запускает getHandler.

Например url вида example.com/login?act=logout. Роутер запустит из директории login функцию getHandler::actLogout() для GET запроса и postHandler::actLogout() Для POST запроса.

У меня порой плохо получается формулировать свои мысли, поэтому при надобности могу предоставить исходные коды.
Меня интересует насколько элегантен данный метод и способы его модернизации.
  • Вопрос задан
  • 288 просмотров
Пригласить эксперта
Ответы на вопрос 5
@Atllantis
Роутер создает контейнер данных, содержащий все переменные POST GET FILES и вычисляет метод запроса (POST или GET) Через $_SERVER['REQUEST_METHOD'].
Что вы будите делать если будут отправлены сразу и GET и POST?
Ответ написан
@Renius
дурак восторженный
Нормально, только это не принцип СМЦ, это скорее смахивает на модуль фреймворка.
Посмотрите как работают с роутингами современные фреймворки. ruby on rails например
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Нормальный ли принцип CMS я сформулировал?

Вы сформулировали вовсе не принцип CMS)).
- Что произойдет при запросе HEAD/OPTIONS/PUT/DELETE?
- Что произойдет, если отправить вам такое: ?act[]=logout?

На счет реализации роутера - посмотрите Silex.

Почитайте на досуге: Попросили проверить код, на что смотреть нужно?
Обратите внимание на пункты, связанные со статикой.
Ответ написан
Я обратился сюда за помощью а не бессмысленным флудом.

Нет ничего нового вы не придумали, просто скомбинировали это под себя как вам удобно. Роутинг был до вас, определение типа запроса тоже было. Atllantis вам правильно сказал. Все роути у вас в GET а формы в POST значит частая ситуация когда приходят сразу оба запроса на одну страницу.
Роутер запустит из директории login

Половина гемора в проектах обычно с этим связано, когда функций 100 и они не хранятся в одной директории роутеру надо как-то определять откуда их брать.
Ответ написан
trevoga_su
@trevoga_su
Комментировать
Ваш ответ на вопрос

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

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