PHP лучшие практики проектирования - PullRequest
9 голосов
/ 15 января 2009

Хорошо, у меня есть куча вопросов, о которых я думал последние несколько дней. В настоящее время у меня есть сайт, который представляет собой просто набор файлов PHP с инструкциями MySQL, смешанными с PHP, HTML и CSS, по сути, огромным беспорядком. Мне было поручено очистить сайт и я сделал для себя следующие требования:

  • Сайт должен быть эффективным и хорошо продуманным (исходный код), я хотел бы иметь возможность писать как можно меньше кода.
  • Должно быть хорошее разделение между структурой, представлением и логикой.
  • По какой-то причине я не могу использовать фреймворк, и мне нужно, чтобы код был понятным и "простым", так как с ним будут работать будущие разработчики.
  • Должен быть раздел администратора хотя бы на несколько страниц.

Скажем так, вот что я знаю о сайте таким, какой он есть сейчас:

  • Состоит из 10-12 страниц, некоторые из них полностью статичны, большинство из них динамически управляются через базу данных, и существует огромная форма для заполнения пользователями (20-30 полей), которые необходимо проверить и проверить.
  • Иерархия сайта в основном состоит из 5-6 основных страниц, а затем вложенных страниц в них.

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

  • Будет ли подход ОО лучше в этой ситуации?
  • Поскольку существует много статических страниц, а динамические страницы просто нуждаются в заполнении контента, было бы лучше использовать какой-то базовый шаблон?

РЕДАКТИРОВАТЬ: Спасибо за ответы, когда я сказал, что нет фреймворков, я в основном имел в виду все, что потребовало бы новый синтаксис, кроме PHP, поскольку любой, кто будет нанят для работы на этом сайте после меня, вероятно, будет знать только PHP .

Ответы [ 3 ]

12 голосов
/ 15 января 2009

Вот статья о том, как организовать ваш проект PHP, от Расмуса Лердорфа, архитектора, который создал язык:

http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html

Несмотря на популярность ОО-фреймворков для PHP, Расмус выступает за менее ОО-подход. Он знает больше чем кто-либо о предполагаемом использовании PHP и о том, как использовать его архитектуру для высокопроизводительных веб-сайтов.

edit: В ответ на комментарий @theman я признаю, что статья написана не очень хорошо, но я думаю, что содержание важно Использование PHP в том виде, в котором оно предназначалось для использования, лучше, чем борьба с его слабостями, чтобы он соответствовал ООП.

2 голосов
/ 15 января 2009

Я настоятельно рекомендую шаблонизатор Smarty для всех проектов PHP. Это дает вам простой способ отделить логику от презентации.

0 голосов
/ 15 января 2009

Посмотрите на этот SO вопрос и ответ. Это довольно хороший, простой дизайн MVC с некоторыми советами о том, как его можно улучшить. Если вы беспокоитесь о техническом обслуживании, то, по крайней мере, вам нужно отделить представление от логики (вам нужны представление и контроллер). Smarty форсирует это, но это тип фреймворка, и у вас будет дополнительный синтаксис для изучения.

Прежде чем вы перейдете к победе Расмуса "no framework php mvc framework", прочтите некоторые критические комментарии Любая структура веб-приложения - это фреймворк, и подход Расмуса не лучший, который я видел.

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