PHP — язык программирования, который наиболее распространён в сфере веб-разработки.

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

Платформы для разработки на PHP

Плат­ные коро­боч­ные CMS: 1С-Битрикс, UMI.CMS, NetCat

Бес­плат­ные коро­боч­ные CMS: ModX, Drupal, Joomla, WordPress

Фреймворки: Yii, Symfony, Zend

Критика

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

Фреймворки достаточно разрозненные — их много, явного лидера нет, поэтому число разработчиков на отдельно взятом PHP-фреймворке может быть существенно ниже, чем количество разработчиков на том же Ruby on Rails (хотя сам язык программирования Ruby значительно менее распространён, нежели PHP).

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

PHP — язык для веб-разработки, который можно назвать основным для «масс-маркета», то есть для разработки типовых сайтов на коробочных CMS.

PHP — скриптовый язык общего назначения, часто применяемый для разработки веб-сайтов.

PHP — интерпретируемый язык программирования, позволяющий создавать программы в процедурном и объектно-ориентированном стиле. PHP — хороший язык для разработки проектов на CMS. И c технической точки зрения современный PHP весьма неплох. Но экосистема языка и особенности кадрового рынка делают PHP не самым лучшим выбором для разработки сложных проектов.

Узнать больше →

Cтатьи по теме:

Серверные языки программирования
Серверные языки программирования нужны для реализации бизнес-логики, то есть разработчик при помощи языка программирования описывает возможные сценарии использования сайта или приложения.
Язык программирования Ruby
Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно-ориентированный, рефлективный, императивный, функциональный. Активно используется в веб-разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).
CMS — коробочные системы управления сайтами
Система управления сайтом — это программный продукт, который создан для упрощения создания основных видов сайтов. Как правило, системы управления достаточно универсальны, то есть на них можно собрать что угодно: от информационного сайта до интернет-магазина или портала.
Фреймворки в веб-разработке
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.
Выбор между CMS и фреймворком
​Технически любой функционал может быть реализован как на CMS, так и на фреймворке. Однако некоторые проекты проще сделать на CMS, а некоторые — на фреймворке.
Рекомендации по выбору CMS и фреймворков
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен формализованный алгоритм выбора.
Надёжность, доступность и отказоустойчивость сайтов и веб-приложений
Действительно серьёзные проекты должны работать без перебоев даже в случае отказа отдельных подсистем. Причин для сбоев в работе немало: выход из строя «железа», сбои программного обеспечения, аварии на уровне дата-центров. Всех этих рисков можно избежать или минимизировать их последствия.

Тематические технологии:

Язык программирования Ruby
Язык программирования Go
Язык программирования Python
Язык программирования Elixir
Фреймворк Ruby on Rails
Фреймворк Phoenix
Язык программирования Erlang
Websockets