Какой PHP MVC Framework для предприятия;CakePHP или Symfony?[закрыто]

StackOverflow https://stackoverflow.com/questions/1007629

  •  06-07-2019
  •  | 
  •  

Вопрос

Я собираюсь начать создание огромного приложения для клинического здравоохранения с помощью PHP, и мне нужен совет по инфраструктуре.Мне нужно иметь возможность быстро создать прототип, поэтому важно, чтобы фреймворк выполнял многие повседневные задачи;поэтому я сузил круг до CakePHP или Symfony.

Я надеюсь услышать мнение нескольких разработчиков, которые работали с обеими платформами.

Спасибо, Пит

Это было полезно?

Решение

IBM опубликовала здесь статью об обеих этих платформах вместе с Zend в сравнении, см .:

http://www.ibm .com / DeveloperWorks / с открытым исходным кодом / библиотека / ОС-PHP-fwk1 / S_TACT = 105AGX44 & амп;? S_CMP = ART

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

Взгляните также на скринкасты для CakePHP, они дают хороший обзор:

http://cakephp.org/screencasts

Другие советы

Я хотел бы опровергнуть некоторые из приведенных выше аргументов. Я много работал с Zend Framework и Symfony и кратко рассмотрел CakePHP.

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

Однако я согласен с тем, что Zend Framework пользуется тем преимуществом, что поддерживается Zend, что может стать весомым аргументом для корпоративных проектов.

По моему опыту, Symfony - это скорее фреймворк, чем ZF. В Symfony вы используете весь пакет - или весь фрейм, в то время как вы в ZF можете использовать инструменты по своему вкусу, делая его более похожим на «панель инструментов». чем рамки.

Также помните, что если вам нравятся некоторые инструменты в ZF, вы сможете использовать их в проектах Symfony (и, вероятно, также CakePHP), наряду с Symfony / CakePHP.

На самом деле это не ответ, а скорее общий комментарий к ответам, приведенным выше.

Я рекомендую прочитать правильный ответ для этот вопрос . В нем упоминается Zend Framework как лучший выбор и приводятся некоторые правильные аргументы для его обоснования.

Позвольте мне начать с того, что у меня нет опыта работы с CakePHP или Zend, кроме просмотра кода фреймворка и их документации.Я начал использовать Symfony около 15 месяцев назад и еще до этого исследовал, какой фреймворк использовать.Я решил выбрать Symfony, потому что обнаружил, что ядро ​​Symfony написано красиво и упорядоченно.Мне казалось, что я могу легко понять структуру, прочитав сам код.Кроме того, я нашел огромное количество документации, посвященной работе с фреймворком для создания определенных функций.Очень прагматично, так сказать.CakePHP, кажется, просто не соответствует моему личному стилю, и я считаю, что ядро ​​очень хакерское.Опять же, я могу ошибаться, но именно так я относился к этому тогда.После 15 месяцев программирования на Symfony я все еще очень доволен.Часто вы читаете комментарии или блоги, в которых говорится, что это слишком сложно.Я думаю, что эти люди оскорбляют собственный интеллект.Действительно, требуется некоторое время, прежде чем вы получите четкое представление о внутреннем устройстве фреймворка и подходах к решению проблем, но как только вы преодолеете этот момент, это действительно потрясающий инструмент.Сообщество очень полезно, и будущее выглядит светлым.В целом, я могу только посоветовать вам руководствоваться интуицией, когда вы смотрите на подходы, используемые фреймворками, их код и стили кодирования.Вы проведете много времени в этих средах, поэтому вы должны чувствовать себя непринужденно, глядя на их код и решения распространенных проблем.Любой существующий фреймворк ужасен, если вы начнете с ним бороться, и если вы будете следовать ему, каждый из них станет отличным инструментом.Некоторые в конечном итоге могут оказаться лучше других.Я думаю, вы сами узнаете ответ на этот вопрос после завершения своего проекта.

Удачи:-)

У меня был минимальный опыт работы с обеими фреймворками, но все, что я когда-либо слышал о symfony, - это жалобы (даже если кажется, что их использовали тонну!). Вероятно, только потому, что люди не тратят время на полное изучение структуры.

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

Вероятно, Zend Framework. Если вы хотите что-то другое, попробуйте codeigniter.com

или его версия в php5 www.kohanaphp.com

Я не использовал другие фреймворки, но я использую Zend Framework , и это здорово. Преимущества:

<Ол>
  • чистая и стандартная библиотека, стиль кодирования, условные обозначения и т. д.
  • поддержка предприятия: она поддерживается Zend, компанией, которую знает каждый программист PHP
  • подробное руководство, множество постов в блогах и учебные пособия, как минимум 2 хорошо написанные книги
  • содержит пакеты в большинстве операционных систем с открытым исходным кодом, поэтому их легко устанавливать и обслуживать
  • очень живой проект с открытым исходным кодом, обновления приходят так скоро, что вы не сможете их поддерживать.
  • открытая лицензия: ZF использует BSD-подобную лицензию, поэтому у вас не будет особых проблем с лицензированием
  • Мои каркасные решения сводятся к этому (обратите внимание, что я в основном использую Cake, маленький Zend, и возился с CodeIgniter и Symfony).

    Zend - самый предприимчивый. Вы получаете людей @ Zend, поддерживающих его - я думаю, что сроки разработки - самый твердый шаг вперед. Он также имеет несколько замечательных модулей, таких как программы для чтения PDF и т. Д.

    Целью CakePHP (IMO) является быстрое развитие. Но это одно из худших решений с точки зрения производительности - если вы собираетесь использовать приложение с интенсивным использованием, я думаю, что у Пола М. Джонса есть несколько постов о тестах производительности. Zend примерно в 2-2,5 раза быстрее Cake, IIRC. Если у вас нет опыта работы с MVC, Cake может быть хорошим выбором. блокирует вас в MVC. Однако мне постоянно приходится думать не по их шаблону, поэтому я медленно переезжаю в Зенд.

    У других фреймворков тоже есть свои сильные стороны. На конференции PHP | Tek в Чикаго на конференции выступил CodeIgniter, поэтому он может набрать обороты в течение следующего года или двух.

    Cake и Zend также имеют очень тесную интеграцию с некоторыми другими корпоративными вещами, такими как модульные тесты и т. д.

    Определенно, Yii, мы использовали его несколько раз для предприятия и были очень довольны результатом. Особенно мне нравятся такие расширения, как backvendor, coco, bootstrap. Для меня Yii было довольно легко изучить и реализовать. Пробовал торт php но yii кажется намного понятнее. В любом случае, какую бы среду вы ни использовали, вы должны параллельно совершенствовать свои основные языковые навыки. Это помогает максимально использовать преимущества фреймворка, который вы используете.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top