Редакторы:
Кирилл Сенкевич, Евгений Шкляр

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

В этой статье мы разберём четыре факта и четыре мифа про PHP. Надеемся, это поможет вам сложить верное мнение об этом языке программирования и начать писать код.

Факты о PHP

1. У PHP низкий порог входа

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

Справедливо считается, что в PHP низкий порог входа. Начать создавать простые приложения на PHP просто, но, чтобы выйти на профессиональный уровень, придётся приложить значительные усилия. И вот тут уже отличий от других языков не будет. В этом PHP похож на аркадные игры: начать играть и получать удовольствие легко, но, чтобы побить все рекорды, придётся набить сотни часов практики.

Иногда кривая обучения чуть-чуть кривее, чем кажется сначала

Так и с программированием — качество вашего кода будет зависеть от времени, которое вы потратите на изучение языка и практику.

2. PHP вообще везде

Здесь речь не о сфере применения языка, а о том, насколько легко запустить и протестировать ваш код в различных окружениях.

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

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

3. У PHP развитая экосистема

Сравнивая различные языки программирования, следует брать в расчёт не только их синтаксис или предлагаемые фичи, но и экосистему.

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

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

Разработчик на PHP работает в супер-продвинутой IDE с максимальной поддержкой языка, отлаживает и автоматизирует тестирование кода, устанавливает библиотеки через пакетный менеджер. Все эти решения имеют подробную документация и проверены временем.

Получается, что можно просто сфокусироваться на создании приложения и не думать о том, где бы достать инструменты — всё, что понадобится разработчику (в том числе и начинающему) уже придумано и хорошо работает.

Количество пакетов для PHP продолжает расти — на момент написания статьи их уже более двухсот тысяч.

Пакеты и их версии на packagist

Экосистема PHP развивается в нескольких направлениях. Кроме привычных фреймворков, популярность и поддержку сообщества разработчиков стали набирать фреймворки, ориентированные на асинхронные возможности PHP. Это проекты Swoole, ReactPHP и Amp.

4. PHP развивается

Некоторые ребята каждый год говорят, что PHP уже всё. Такие разговоры длятся лет десять. Тем не менее, PHP чувствует себя прекрасно: регулярно выходят новые версии языка, экосистема растёт, и в количестве вакансий недостатка тоже нет.

Обновляются как API расширений и синтаксис языка, так и внутренности интерпретатора. Последний пункт сильно влияет на общую производительность, которая возрастает от версии к версии. В PHP 7 разработчики частично переписали ядро и это положительно отразилось на его производительности: скорость работы увеличилась в два раза, а потребление памяти, наоборот, снизилось. Если не верите, можете посмотреть на замеры производительности PHP в сравнении с другими языками.

Мифы о PHP

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

1. PHP — решето

«Программы на PHP небезопасны» — распространённый повод для критики PHP.

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

Кстати, на курсе «Профессиональный PHP, уровень 1» мы сразу объясняем студентам только «лучшие практики» разработки на PHP, в том числе подробно затрагиваем и вопросы безопасности.

Конечно, иногда уязвимости находят и на уровне ядра PHP, но с другими языками происходит то же самое. Исследователи и хакеры ищут, а авторы языка быстро реагируют на такие проблемы, оперативно исправляют ошибки и закрывают уязвимости.

2. PHP медленный

Вопрос производительности любой технологии всегда вызывает бурные дискуссии.

Facebook, Wikipedia и «ВКонтакте» строят на PHP приложения разного масштаба, а скорость их работы может легко оценить любой наш читатель. При этом повышение производительности всегда стоит среди приоритетных задач разработчиков. Например, при переходе с версии 5.6 на 7 производительность PHP выросла от 15 до 20%. В последних, минорных версиях языка, работа над повышением скорости исполнения кода продолжается.

3. Технология X скоро вытеснит PHP

Миф о серебряной пуле особенно любят муссировать в IT-сообществе: технология X скоро вытеснит Y, и тому подобное. Инструментов, с помощью которых можно выполнять те же самые задачи, что и на PHP, много: JavaScript, Ruby, Python, C#, да и мало ли что ещё.

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

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

А серебряной пули вообще не существует. Мы советуем своим читателям более прагматично относиться к выбору языка разработки: не слепо следовать моде, а здраво оценивать все плюсы и минусы.

4. На PHP пишут плохой код

Плохой код можно написать на любом языке программирования, и PHP здесь не исключение. Странно скрывать, что на нём действительно написано много плохого кода.

Начать программировать на PHP очень просто. Начинающий программист может легко решить многие задачи, но код будет с нюансами и вообще так себе. Помните — качество кода в первую очередь зависит от разработчика, его опыта и навыков. Чем он опытней, тем более качественный код напишет.

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

К счастью всех нас, те времена давно прошли, и появилась культура написания хорошего кода. Теперь у нас есть руководства по стилю, стандарты кодирования, линтеры и другие вещи, которые помогают писать хорошо.

Выводы

PHP — это удобный язык программирования высокого уровня.

Несмотря на возможность применения PHP в различных отраслях разработки, его специализация, всё-таки, это бэкенд. Хороший программист умеет подбирать правильные инструменты исходя из задачи, а ориентированность PHP на веб-разработку делает его отличным выбором для создания сайтов или веб-сервисов.

Но не забывайте: язык программирование — это просто форма выражения, а содержание — это качество кода. И содержание в этом случае зависит не от языка, а от вашего опыта и навыков. Чтобы развить навыки, разобраться в языке с нуля и получить ценный опыт разработки настоящего проекта, познакомьтесь с PHP на интерактивном курсе и приходите на интенсив к нам, в HTML Academy.