Такие свойства PHP как расширяемость ядра с помощью модулей, открытость
исходного кода, способность взаимодействия с базами данных, поддержка различных
протоколов и объектно-ориентированного программирования привели к резкому росту
популярности PHP среди создателей веб-сайтов.
Преимуществами PHP по сравнению с популярным языком Perl, является
простой синтаксис, что делает его легче в изучении, и более четкий и менее раздутый
исходный код, что делает его легче при разработке модулей.
Кроме того, PHP работает как часть веб-сервера, что существенно экономит
ресурсы хостинга: PHP, в отличие от сценариев CGI, не приводит к порождению
нового процесса в операционной системе. Особенно это преимущество становится
заметным, когда посещаемый сайт состоит из множества страниц, на которых
выполняются относительно небольшие куски кода PHP. Аналогичный вариант с кодом
на Perl порождал бы огромное число новых процессов.
В качестве недостатка PHP 3 выделяют его низкую по сравнению с Perl
производительность на сложных приложениях при обработке больших скриптов, то
есть в тех случаях, когда сайт состоит из нескольких страниц, но с длинным кодом. В
таких ситуациях выгодней использовать CGI. Поэтому при выпуске новой версии PHP
4 основное внимание было уделено повышению быстроты работы. Также были
затронуты вопросы безопасности и была внедрена поддержка сессий. Новая версия
PHP содержала в себе ядро Zend Engine, которое позволило добиться увеличения
производительности и стабильности за счет более качественной поддержки модулей.
В дальнейшем проводились работы по улучшению технологии Zend в части
поддержки модели объектно-ориентированного программирования, что вылилось в
создание PHP версии 5. Это версия включает в себя ядро Zend Engine 2, поддержку
языка разметки XML, в PHP появились такие понятия объектно-ориентированной
модели как деструкторы, интерфейсы, клонирование объектов.
Rails — это полноценный, многоуровневый фреймворк для построения веб-
приложений, использующих базы данных, который основан на архитектуре Модель-
Представление-Контроллер (Model-View-Controller, MVC).
Rails предоставляет однородную среду разработки на Ruby для динамичных
AJAX-интерфейсов: обработки запросов и выдачи данных в контроллерах. Для работы
необходима только — это база данных и веб-сервер.