Лично я бы порекомендовал, чтобы, если вы начинаете новый проект, который оказывается самым крупным проектом, который вам когда-либо приходилось делать, вам следует придерживаться того, что вы знаете лучше всего.Это PHP.
Я использовал Ruby или Rails.На самом деле, у нас есть несколько производственных приложений, которые используют RoR.Лучший способ узнать RoR - это работать над небольшими проектами.Я бы никогда не подумал о том, чтобы выбрать язык программирования, с которым я не знаком, а затем изучил бы новую среду, чтобы начать кодировать большой проект.
Что касается Symfony2, мы начали использовать его парунедель назад.Symfony2 - отличный фреймворк и выглядит очень многообещающе.Это чисто, красиво отделено и быстро.Тем не менее, мы столкнулись со слишком многими ошибками / головными болями / несоответствиями в Symfony2, чтобы продолжать его использовать.Мы начнем работать над ним снова, когда он созреет и документация будет расти (многие документы устарели).Надеемся, что они выпустят своего рода учебник по Jobeet, но для Symfony2.
Переход к CakePHP.Кодовая база CakePHP старая.На самом деле, он отлично работает на PHP 4.3.2.Он не использует всех преимуществ, которые может предложить PHP5 (абстрактные классы, интерфейсы, частные и защищенные свойства, исключения, магические методы, аннотации, передача объектов по ссылке и т. Д.) Уровень абстракции базы данных CakePHP, хотя в нем и были улучшения, не является невероятно эффективным, когда структура вашей базы данных становится слишком сложной (например, для многих соединений), она очень сильно рушится.
Переход к Symfony 1.4, который я использовал для многих крупных проектов
Iнаслаждайтесь, потому что:
- PHP5
- Система событий
- Внедрение зависимостей
- Система кэширования
- Формы (хорошая интеграция в Doctrine2) На самом деле это моя любимая функция.
- Множество плагинов (например, sfGuard для управления пользователями)
- Twig (хороший язык шаблонов)
- Настраиваемая конфигурация
- Масштабируемый (хотя и не так быстро, как Symfony2)
- Много документации (урок Jobeet великолепен)
Если PHPна данный момент ваша сильная сторона, и вам нужно начать работать над большим проектом, а затем начать использовать каркас на основе PHP, поскольку вы знаете синтаксис языка и лучше всего функционируете.
Переходите на RoR, когда у вас есть небольшой проект.
Только мои 2 цента.
Удачи.