Чем так хорош язык веб-разработки PHP

Чем так хорош язык веб-разработки PHP

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

Все преимущества

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

Предназначение: для чего создан язык

Днем рождения принято считать 8 июня 1995 года, когда Расмус Лердорф выпустил первую версию Personal Home Page Tools (PHP Tools). За основу он взял Perl и создал интерпретатор шаблонов, который должен был ускорить веб-разработку. Через два года он выпустил вторую версию шаблонизатора, разработка которого велась с помощью С.

Но настоящее рождение «препроцессора», как языка, который известен сегодня, произошло в 1998 году, когда был полностью переписан код. Увидев перспективную разработку, программисты со всего мира принялись совершенствовать ее. Именно благодаря общему труду, сегодня язык поддерживает создание wеб-приложений на основе различных серверов и баз данных. Ну, а тот «препроцессор», который вдохновил Цукерберга на создание Facebook, появился в 2004.

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

Так много на PHP

Хотя и программисты любят наговорить плохого о «препроцессоре», они знают, как много удачных проектов взяли его за основу. Самыми популярными из них являются Facebook и WordPress. C первым вы знакомы давно: это самая большая социальная сеть в мире. Они даже выпустили собственный транслятор для языка, который называется HipHop. Для Цукерберга, скорее всего, выбор был обусловлен простотой языка. Изначально, FB не планировался настолько масштабным, потому разработка с помощью «гипертекстового препроцессора» казалась хорошей идеей.

Все страницы и веб-приложения работали на языке долгие годы, пока команда не решила отказаться от этого. Они создали новый, чтобы с его помощью продолжить поддержку сайта. Но правда в том, что даже новый язык — это тот же «препроцессор», только с некоторыми дополнениями. В основе языка Hack лежит PHP, но разработанный для нужд Facebook. Скорее всего, разработка с помощью уникального языка была скорее коммерческим ходом, чем необходимостью.

О том, что в основе WordPress лежит PHP, не знает разве что ленивый. При этом сама платформа работает отлично, особенно в новых версиях. Самые любопытные даже знают о том, что в свое время проблемы с сериализацией создавали опасность для сайтов, сделанных в WP. Некоторые даже пророчили крах CMS, но 12 июля 2018 года компания выпустила версии, где все проблемы были устранены. Кстати, при помощи того же «препроцессорa».

Но социальная сеть и система управления могут показаться не самыми весомыми доказательствами эффективности PHP. Нужно привести web-приложение, которое полностью работает на этом языке, решает глобальные проблемы и имеет коммерческий успех. Что ж, платформа электронной коммерции WooCommerce тоже полностью разработана с помощью «препроцессорa». Через нее проходит почти половина всех интернет-покупок в мире. Кстати, в основе их ближайшего конкурента — Magento — тоже лежит PHP.

Почему же все эти проекты и web-приложения взяли такой критикуемый шаблонизатор за основу? Об этом далее!

О достоинствах

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

разработка с помощью PHP дает много возможностей. При должном уровне владения, с помощью шаблонизатора можно создавать не только сценарии для веб-приложений, но и полноценные программы. Существуют решения, позволяющие создавать мобильные приложения на PHP;

изучение PHP не требует много времени. Это одновременно и плюс, и минус. Ведь основательное знание требует практики, но об этом позже;

кроссплатформенность. PHP может быть запущен в любой операционной системе, включая юниксоиды;

поддержка веб-серверов. Сложно найти тот, который бы не работал с PHP;

бесплатное распространение. Возможно, PHP не был так популярен для создания web-приложений, если бы не был бесплатным, как и большинство инструментов для работы с ним. Аналоги, которые, в основном, могут выполнить ту же работу, обычно стоят дороже;

имеет достаточную произвольность для web-разработки. Конечно, такие базовые языки, как C-семейство, работают быстрее, но для веба это не критично;

наличие учебных материалов. Все знают о «косяках» PHP лишь потому, что разработку, в основном, ведут с его помощью. Попробуйте найти в Google недостатки «Virtual Reality Modeling Language». Будет сложно, ведь его мало кто знает. Зато основу недостатков «препроцессорa» уже все выучили наизусть из-за широкой используемости языка. Именно потому, если у вас что-то не получается, всегда можно заглянуть в поисковик: с вашей проблемой, вероятнее всего, кто-то уже сталкивался;

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

Около 80% всех существующих web-приложений было создано на шаблонизаторе, и естественно, что в них были найдены ошибки. К тому же, низкий порог входа позволяет новичкам создавать масштабные продукты. Их «поделки» редко отличаются качеством, но все-же работают.

Проблемы, требующие решения

Несмотря на широкую используемость в сфере создания сайтов и web-приложений, у «препроцессорa» действительно есть недостатки. Но если одни видят в них причины не изучать язык, то другие видят предупреждение, которое нужно воспринимать как путеводитель. Среди проблем:

узкопрофильность. Если вы выучили разработку с помощью PHP, то у вас одна дорога — в веб. И хотя возможности расширены различными реализациями, все же он «заточен» под программирование для Интернета;

безопасность. У PHP есть средства безопасности уровня системы и уровня web-приложения. Но, опять же, широкая используемость сыграла злую шутку: дыры в PHP находят быстрее, чем разработчики успевают их закрывать. В PHP 7 множество проблем решено, но злоумышленник всегда впереди. В силу того, что массы знают «препроцессор», трудно предугадать всё;

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

Но основы всех проблем, с которыми связывают PHP, спровоцированы не самим шаблонизатором, а скорее, с окружающими обстоятельствами. Сам по себе язык отлично интегрировался в разработку современных веб-приложений. И такая ситуация сохраняется уже много лет. Начиная с 1998 года веб-разработка с помощью PHP проводится в 8 случаях из 10. Таких долгожителей в программировании не так уж много: тренды меняются очень быстро.

Не стоит и забывать, что «препроцессор» создан для конкретной цели: веб-разработка. И если молодой разработчик в нем делает ошибки, это не так уж важно. Тем более, что люди, получившие основу при изучении PHP, гораздо охотнее развиваются далее, чем те, кто обломил энтузиазм о сложность таких языков, как Java.

Впереди развитие

Не был бы «препроцессор» так популярен для создания веб-приложений, если бы так стремительно не развивался. Особенно порадовала разработчиков седьмая версия, которая имеет ряд позитивных отличий. Среди них, например, внедрение оператора объединения с null, объявления скалярных типов и много другого. Как и планировалось в шестой, седьмая версия полностью принимает шестнадцатеричный Unicode.

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

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

«Препроцессор», как язык web-приложений, однозначно нужно учить. Человеку, который уже знает С или подобные, он «зайдет» на ура. А тому, кто только пришел в разработку, он не доставит много хлопот. Это настоящий подарок: интересное начинается с самого начала. Так что:

<?php echo '<p>Учите то, что вам по душе</p>';
?>