Сравнение Rails с PHP не очень справедливо для PHP. В конце концов, Rails - это платформа, а PHP - это язык.
Если вы сравните PHP с Ruby как с языком, я лично считаю, что Ruby лучше. PHP (для меня) ощущается как нечто, органично выросшее из списка серверных директив. Ruby кажется более сплоченным, и, как говорит его создатель, программист считает, что им понравится.
Точно так же я не могу сравнить Ruby on Rails с другими PHP-фреймворками, потому что я не работал ни с какими (у меня есть опыт работы только с Drupal и Wordpress).
Для меня то, что отличает Ruby on Rails (хотя я слышал, что другие сейчас используют эти идеи), это:
- Идея "соглашения о конфигурации". На рельсах большинство вещей, которые обычно были бы «на усмотрение программиста», такие как соглашения об именах или куда помещать код инициализации, в значительной степени заложены в камень. Одно это помогает повысить качество кода - разные библиотеки из разных групп по всему миру придерживаются одного и того же соглашения.
- Идея красоты. Программисты Rails испытывают зуд, если видят метод длиной более 10 строк. Им нравится, когда их программы выглядят как обычный английский. Код, созданный таким образом, является лучшим, который я когда-либо видел. Оно короткое, краткое и полное.
- Тестовая дисциплина. Серьезно, ребята рельсы принимают тестирование близко к сердцу. Если вы найдете библиотеку или плагин на рельсах, есть вероятность, что он будет сопровождаться встроенными в него тестами. И любой проект среднего размера не примет патч от вас, если он не идет с тестами. Сам Ruby (язык) является языком с specs .
- Стремление к совершенству. Сообщество рельсов всегда стремится к улучшению. И они не боятся вносить обратно несовместимые изменения, если это делает код лучше (см., Например, радикальное изменение в интерфейсе ActiveRecord с rails 2.x до 3.x).
Вы заметите, что я не очень много говорил о технических особенностях. Это потому, что для меня то, что делает рельсы великолепными, не "технические", а "поведенческие". Выбранный язык или сама платформа являются отражением своего рода мышления. И это мышление, для меня, лучшая особенность рельсов.
По моему мнению, любой программист, который подвергается такому мышлению, будет создавать лучший код. Если он программирует на PHP, он просто создаст лучший PHP. Единственным условием является то, что он хотя бы немного любит программировать, и у него есть пытливый ум. Это не для кодовых обезьян, которые работают только для того, чтобы положить еду на стол.
Получит ли он то же самое от других PHP-фреймворков? Я понятия не имею. Может быть.
Если вы обеспокоены затратами на полное начало с нуля, продолжайте делать то, что вы уже знаете (PHP), чтобы приносить деньги, но начните небольшой проект (возможно внутренний) на Rails. Ваш PHP-код будет постепенно улучшаться.
... пока ваши разработчики не скажут вам, что им надоел PHP и они хотят использовать только Ruby:)