Как вы организуете представления / контроллеры в веб-приложении NON MVC? - PullRequest
0 голосов
/ 01 июня 2009

В поисках лучших практик в веб-разработке, когда вы пишете веб-приложение в традиционной среде без фреймворка (ядро PHP или Perl / CGI), каков самый чистый способ организации или сопоставления вызовов от клиента к процессам сервера

Ответ довольно тривиален при работе на странице с одной областью действия, где, например, у вас есть форма для заполнения и кнопка отправки. Вы можете установить действие формы «save.php» и иметь непосредственное отношение между страницей и функцией, с которой она связана. Таким образом, save.php может выполнить действие сохранения и записать клиенту форму.

Теперь единственное нестандартное улучшение php, которое я использую, - это движок шаблонов (tinybutstrong). Всякий раз, когда у меня есть сложная страница с несколькими формами (например, для сортировки сетки, сохранения чего-либо, запроса чего-либо другого, компонента ajax и поля поиска), как вы располагаете различные функции (поиск, сортировка, вставка? , восстановить) на одну страницу отображения (индекс)?

Используете ли вы что-то вроде index.php? Action = search / index.php? Action = insert или что-то вроде установки каждого действия на страницу, которая действует как функция (search.php, sort.php, insert.php) каждый делегирует функцию представления одному скрипту (index.php)? Что, если функция "search" может использоваться varius "views"?

В качестве примера я использую общие термины, такие как поиск или вставка, и ссылка на PHP также приведена только в качестве примера, так как я думаю, что мой вопрос относительно общих рекомендаций довольно общий. Спасибо.

1 Ответ

0 голосов
/ 01 июня 2009

Создавая что-то, где есть действие, которое направляет вас к представлению, вы по сути создаете контроллер для представлений, и вы на две трети пути к MVC. (не то, что с этим что-то не так, просто куда ты направляешься)

Q1. Какой самый чистый способ организации или сопоставления вызовов от клиента к процессам сервера?

A1. Используя файловую систему, но семантически структурированную на основе структуры ваших данных (если возможно), делая что-то вроде /search/mysearch, это ваш семантически правильный вариант. Требуется немного Apache Mojo

Q1. Используете ли вы что-то вроде index.php ...

A1. Да, я бы не стал уклоняться от такого подхода. Идеально использовать небольшую магию переписывания Apache для создания хороших путей, но кроме этого, нет никакого другого волшебного способа создать контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...