Menu

Что такое PHP: зачем нужен язык и как он работает

PHP это серверный скриптовый язык: PHP-файл выполняется на веб-сервере и отправляет в браузер собранный им HTML. На PHP работают WordPress, Laravel и значительная часть веба, а ещё он запускает скрипты из командной строки.

На этой странице есть исполняемые редакторы: меняйте, запускайте и сразу видите результат.

PHP это серверный скриптовый язык для создания веб-страниц. Файл .php выполняется на веб-сервере, печатает HTML (например, через echo "<h1>Hello</h1>";), и сервер отправляет этот HTML в браузер посетителя. Браузер никогда не видит PHP-код, только результат его работы.

Нажмите Run: PHP соберёт страницу ниже, а вкладка Page покажет её так, как показал бы браузер.

Переключитесь на вкладку Output, и вы увидите обычный HTML, который напечатал PHP. Именно этот текст получил бы браузер. Измените цену или добавьте товар и запустите снова.

Для чего используют PHP

PHP создавался для веба, и большая часть кода на нём до сих пор работает там:

  • Сайты и CMS. WordPress, Drupal и Joomla написаны на PHP, как и все сайты на их основе.
  • Веб-приложения. На фреймворках Laravel и Symfony делают магазины, дашборды, SaaS-продукты и внутренние инструменты.
  • API. PHP-скрипт может печатать JSON вместо HTML, и так многие мобильные приложения и фронтенды на JavaScript получают данные.
  • Скрипты для командной строки. Задачи cron, импорт данных, генераторы отчётов и инструменты деплоя запускаются командой php script.php, без всякого веб-сервера.

Как PHP-запрос превращается в HTML

Когда кто-то открывает https://example.com/menu.php, происходит следующее:

  1. Браузер отправляет HTTP-запрос на сервер.
  2. Веб-сервер (Apache, Nginx с PHP-FPM или встроенный сервер PHP) видит расширение .php и передаёт файл в PHP.
  3. PHP выполняет файл сверху вниз. Текст вне тегов <?php ... ?> копируется в вывод как есть; код внутри тегов выполняется и может выводить ещё текст через echo.
  4. Всё, что напечатал PHP, становится телом ответа, и браузер его отображает.
  5. PHP всё забывает. Следующий запрос запускает скрипт заново.

Из-за пятого шага PHP-приложения используют сессии и базы данных: значения в переменных не переживают переход от одного запроса к другому. Форма ниже показывает этот цикл. Запустите её, введите имя и нажмите Send: тот же скрипт выполнится снова, но уже с заполненным $_POST.

htmlspecialchars превращает символы вроде < в &lt;, поэтому имя вида <b>Ada</b> показывается как текст, а не становится разметкой. Так нужно выводить любое значение, пришедшее от посетителя; подробности на странице про htmlspecialchars.

PHP смешивается с HTML

PHP-файл может состоять только из кода, а может быть HTML-страницей с островками PHP. Почти всю работу делают три тега:

ТегЧто делает
<?php ... ?>Выполняет код внутри
<?= $value ?>Короткая запись <?php echo $value; ?>
?> в конце файлаНеобязателен; в файлах, где есть только PHP, его лучше не ставить

Задайте $hour значение 9 и запустите снова, чтобы увидеть другое приветствие.

Как выглядит код на PHP

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

Здесь вывод обычный текст, потому что скрипт не печатает HTML-тегов. Это тот же код, который вы запустили бы из терминала.

Современный PHP (PHP 8)

В PHP 8.0 (2020) появились выражения match, именованные аргументы, объединения типов, str_contains() и JIT-компилятор; в PHP 8.1 перечисления и readonly-свойства. Код для PHP 8.3 выглядит так:

Что означает PHP

PHP расшифровывается как "PHP: Hypertext Preprocessor". Название рекурсивное: первая P означает сам PHP. Расмус Лердорф выпустил первую версию в 1995 году под именем "Personal Home Page Tools", это был набор скриптов для его домашней страницы, а нынешнее название появилось с PHP 3 в 1998 году. "Препроцессор гипертекста" хорошо описывает работу языка: PHP обрабатывает файл до того, как гипертекст (HTML) будет отправлен.

Частая первая ошибка: открыть .php-файл в браузере

Двойной щелчок по index.php открывает его как локальный файл, и браузер либо показывает сырой PHP-код, либо предлагает его скачать. Ничего не выполняется, потому что на другой стороне нет PHP. Файл .php должен отдавать веб-сервер, который передаёт его в PHP. На своём компьютере проще всего запустить встроенный сервер PHP:

php -S localhost:8000

Затем откройте http://localhost:8000/index.php. На странице о запуске PHP об этом и о запуске скриптов из терминала рассказано подробнее, а установка PHP поможет сначала поставить PHP на компьютер.

Часто задаваемые вопросы

Как расшифровывается PHP?

PHP означает "PHP: Hypertext Preprocessor", это рекурсивный акроним. Исходное название 1995 года было "Personal Home Page Tools": так назывались скрипты, которые Расмус Лердорф написал для своего сайта.

PHP это фронтенд или бэкенд?

Бэкенд. PHP выполняется на сервере, а браузер получает только HTML (или JSON), который напечатал скрипт. Сам PHP-код браузер никогда не видит.

Для чего в основном используют PHP?

Для веб-страниц и веб-приложений на сервере: контентные сайты, магазины, админки и API. WordPress, Drupal, Magento, Laravel и Symfony написаны на PHP. Ещё на нём запускают скрипты из командной строки, например задачи cron и импорт данных.

Используют ли PHP в 2026 году?

Да. По данным W3Techs, PHP работает примерно на трёх четвертях сайтов, у которых удаётся определить серверный язык, во многом благодаря WordPress. Язык активно развивается: в PHP 8.0 появились match, именованные аргументы и JIT-компилятор, а в PHP 8.1 перечисления и readonly-свойства.

Сложно ли выучить PHP?

Для веб-разработки это один из самых простых первых языков: файл с <?php echo "Hello"; уже рабочая страница, и его запускает любой хостинг. Сложнее с самого начала привыкнуть к безопасным приёмам, например экранировать вывод через htmlspecialchars и использовать подготовленные запросы для SQL.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ