Для каких проектов подходят фреймворки PHP? - PullRequest
4 голосов
/ 05 августа 2010

Я создаю сайт, подобный SO, используя PHP как личный проект. Я начал с написания плоских файлов PHP (типа SQL-запросов, смешанных с HTML). Пройдя несколько страниц, я заметил, что его становится сложно поддерживать. Поэтому я начал использовать ORM (Propel). Затем я познакомился с Symfony.

Я начал рефакторинг своего кода, чтобы он соответствовал шаблону Symfony MVC. Мне кажется, что для небольшого проекта, такого как этот, Symfony на самом деле усложняет ситуацию, а я на самом деле развиваю медленнее. Являются ли фреймворки более ориентированными на большие приложения, разработанные несколькими группами? Или я что-то не так делаю?

Ответы [ 3 ]

6 голосов
/ 05 августа 2010

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

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

Кроме того, «сайт, подобный SO», ни в коем случае не является «небольшим проектом».

1 голос
/ 05 августа 2010

Это зависит от структуры и от того, насколько вы хотите поменять простоту разработки в будущем на скорость разработки в настоящем. Лучший способ докопаться до сути - это попробовать несколько фреймворков и посмотреть, что подходит вам больше всего. Несколько случайных примеров включают в себя:

Я использовал все вышеперечисленное, и лично я нашел Агави лучшим, хотя, конечно, не самым быстрым в работе. Я не был так впечатлен Cake, как остальные, но опять же, это личное предпочтение.

0 голосов
/ 05 августа 2010

Я не знаю, насколько «мал» ваш проект на самом деле, но хотя требуется время, чтобы выучить фреймворк и спроектировать ваш проект так, чтобы он следовал философии фреймворка, обычно это того стоит.По моему опыту, когда проекты начинают расти так, как это делает ваш проект (наивный PHP → выделение модели → ...), вы в лучшем случае получаете код, очень похожий на простой фреймворк.С другой стороны, когда вы используете фреймворк, базовый дизайн вашего проекта, как правило, очень хорошо продуман, поэтому даже если вы не опытный архитектор программного обеспечения (может быть, вы?), Вы получите хорошую основу для своего проекта..

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

Возможно, Symfony не лучший выбор для вас.Я думаю, что это вопрос личного мнения в конце концов.Лично мне нравится CakePHP при кодировании PHP и Django при кодировании в Python.

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