Php: функциональный стиль, легкие альтернативы разделению интересов в шаблонах OO MVC? - PullRequest
1 голос
/ 10 ноября 2009

Проблема:

У меня есть устаревшее php-приложение , которое написано без определенного стиля (некоторые OO, библиотеки функций, некоторые шаблоны, без шаблонов), которые я медленно переписываю, очищаю и добавление в.

Когда я ввел шаблоны в систему, сразу стало очевидно, что это действительно сильно очистит и упростит код из-за разделения между html и php, которое он дает. Я работал с php MVC-фреймворком на своей работе, и мне действительно нравится разделение интересов, которое воплощает концепцию MVC. Тем не менее, мне не нравится сложность, которую представляют большие кодовые базы. Я люблю простоту и не могу справиться с бесконечно вложенной отладкой, когда в игру вступает действительно сложный стек. Со временем я становлюсь все большим поклонником функционального стиля, главным образом из-за исследований Clojure .

Я хотел бы иметь хороший способ выделить проблемы в php, оптимально без большого количества объектно-ориентированного кода и без большой части стека, потому что я хочу перейти к более функциональному стилю для php, когда я перехожу к php 5.3 и далее.

Обрамление решения:

  • Нет больших / сложных объектов.
  • Короткий стек для отладки.
  • Запустив php 5.2, он не сможет обновиться до 5.3 до тех пор, пока он не выйдет в Debian, поэтому функциональный стиль был бы неплох, но инструменты 5.3 могут быть мне недоступны некоторое время.
  • Чистая и простая тема для объединения разбитой в данный момент кодовой базы.
  • Чем меньше влияние на текущий код, тем лучше.

Ответы [ 3 ]

2 голосов
/ 20 декабря 2012

Я знаю, что этот вопрос довольно старый, но я только что выпустил микро-фреймворк PHP в функциональном стиле под названием Bullet , который звучит так, как будто это то, что вы ищете. Будучи микро-фреймворком, на самом деле это не ООП, а использование уникального функционального подхода к маршрутизации делает его действительно интересным и необычным в работе. Попробуйте, если вы все еще программируете на PHP:).

2 голосов
/ 10 ноября 2009

Я не могу ручаться за это, но я слышал кое-что хорошее о Кохана

1 голос
/ 10 ноября 2009

Если вы создаете сложный сайт, фреймворк, такой как kohana, очень поможет. Для более простых сайтов я предпочитаю не использовать фреймворки. Я использую базовые «фреймворки», которые в основном представляют собой фронт-контроллер с некоторыми вспомогательными функциями.

фронт-контроллер просматривает запрос и решает, какой контроллер / страницу загрузить. Загруженный контроллер / страница получает необходимые данные через модели / что угодно, а затем загружает шаблон.

request = / blog / 13 / i-like-birds фронт-контроллер смотрит на запрос и загружает контроллер блога Контроллер блога получает всю информацию, необходимую для поста 13, и загружает шаблон блога.

Но опять же, какое решение вы должны использовать, зависит от потребностей сайта.

...