PHP (Hypertext PreProcessor) — это язык веб-программирования с открытым исходным кодом.
Все сайты написаны на языке гиперразметки HTML. Большинство ресурсов также применяют в коде CSS. Это язык, который позволяет оформлять страницы в едином стиле быстрее, чем на чистом HTML.
Однако оба инструмента не умеют добавлять элементы, которые меняются в зависимости от условий. Например, прогноз погоды или курс валют. С помощью PHP веб-программисты пишут скрипты, которые меняют выводимые данные. Похожие возможности есть и у других языков, к примеру, у JavaScript.
Скрипты на PHP встраивают в HTML-разметку либо пишут в отдельных файлах.
Принцип работы PHP
Когда пользователь переходит по любой ссылке, браузер запрашивает у сервера исходный HTML код страницы. Если на ней есть PHP код, в этот момент он отправит запрос на веб-сервер, чтобы получить актуальные данные.
Компьютер и браузер пользователя обрабатывают только готовый HTML код, но не PHP. Это значит, что на отображение страницы дополнительно влияет доступность веб-сервера, который обрабатывает скрипты. Если он недоступен, часть страницы отображается некорректно.
Когда компьютер читает любой код, он его либо компилирует, либо интерпретирует.
Компиляция — это перевод того, что написал программист в двоичный код, который понимает компьютер. Машина не исполняет написанное, а только переводит в понятный для себя вид. То есть люди со своей стороны видят, например, интерфейс программы, а компьютер — массив из ноликов и единиц.
Интерпретация — это построчное выполнение кода программой-интерпретатором. В процессе интерпретации код сначала компилируется, а потом исполняется.
На сервер с сайтом предварительно устанавливают программу-интерпретатор, чтобы он обрабатывал PHP скрипты. Интерпретатор получает запрос, находит нужные данные, «заворачивает» их в HTML код и в таком виде отправляет обратно.
Браузер получает код страницы, в котором на месте скрипта уже стоит HTML. Если пользователь решит посмотреть исходный код, то PHP скрипта там не увидит.
Где используют PHP
Основное назначение языка PHP — отправлять на сервер запросы актуальной информации. Поэтому он решает любые задачи, где надо получать изменяющуюся информацию. Например, данные из cookies или форм. С помощью PHP можно добавлять, извлекать и обновлять информацию в MySQL и другие базы данных.
PHP используют около 80% всех сайтов, в том числе:
- Самописные ресурсы. Это сайты-визитки и простые страницы, лендинги.
- Некоторые wiki-сайты, например, MediaWiki. Это информационные ресурсы — энциклопедии.
- Некоторые ERP-системы, к примеру, Totum. Это системы по управлению бизнесом, в которых ведут учет продаж и складских запасов, хранят данные о клиентах и персонале.
- CMS-системы, такие как WordPress и Joomla. Это инструменты, с помощью которых можно создавать сайты без знания HTML. Страницы собираются из готовых блоков.
Почему язык PHP критикуют
В сети можно найти длинные списки с недостатками PHP. Большинство этих недостатков стали мифами, которые опираются на две основы:
Корявый код. PHP появился как простой и бесплатный язык для веб-программирования. Основы PHP мог быстро освоить любой человек. Язык не подходил для корпораций, но его можно было использовать для создания простеньких веб-страниц. Поначалу PHP так и расшифровывался: Personal Home Page — персональная домашняя страница.
Любой пользователь мог не изучать документацию, а взять готовый, примерно подходящий кусок кода, а затем добавить себе на страницу. В результате в мире появилось много PHP-программистов с поверхностными знаниями, а в сети масса сайтов с корявым, но рабочим кодом. Так родился миф, что на языке PHP создают только некачественный код.
Плохой имидж. Язык PHP — это работа энтузиастов, которые развивают его итерациями. Первая версия выглядела как набор скриптов, а не полноценный язык. Со временем в мире появились аналогичные инструменты, например, Ruby или JavaScript. Команда PHP изучала их, брала лучшие практики, внедряла в PHP и выпускала новую версию. Так PHP развивается до сих пор.
Однако первые итерации языка были медленные и ущербные по функционалу. Все списки недостатков тянутся именно от этих старых версий. Сейчас PHP стал полноценным языком веб-программирования, но плохой имидж влияет на восприятие людей до сих пор.
Сравнение PHP с другими языками
PHP | JavaScript | Java | Ruby | Python | Go | |
Простота | ++ | + | − | + | + | + |
Можно использовать бесплатно | + | + | +− | + | + | + |
Больше подходит для веб-разработки | + | + | +− | + | +− | + |
Есть удобные программы для разработки | + |
+− среда часто меняется |
+ | + | + | + |
Скорость работы | − | ++ | − | − | − | ++ |
Большое комьюнити | ++ | + | + | + | ++ | + |
PHP медленнее других и подходит преимущественно для веб-программирования. С другой стороны, язык очень простой, поэтому начинать практиковаться можно сразу. Вокруг него сложилось большое комьюнити, так что в процессе обучения всегда можно задать вопросы и посоветоваться с профессионалами.
Кому и зачем стоит учить PHP
Основы PHP простые, поэтому порог входа низкий. Изучить и программировать на нем сможет любой человек, которому это интересно. PHP не сложнее HTML.
На языке PHP продолжают работать, несмотря на регулярные предсказания, что он скоро исчезнет. Сейчас в сети существуют сотни сайтов, которые надо постоянно поддерживать, поэтому работодатели продолжают искать PHP-разработчиков.