PHP: что это простыми словами
Посетитель выбирает категорию в каталоге. PHP получает этот выбор, запрашивает товары из базы данных и генерирует HTML-код страницы. Страница получается динамической: её содержимое зависит от запроса.
PHP расшифровывается как PHP: Hypertext Preprocessor, то есть «препроцессор гипертекста». Это язык общего назначения с открытым исходным кодом для веб-разработки. PHP-код можно встроить в HTML или хранить отдельно.
PHP-код выполняет интерпретатор. Посетитель получает результат. Сам язык не заменяет CMS и не является базой данных.
История PHP началась с инструментов Personal Home Page Tools, которые Расмус Лердорф создал в 1994 году. В 1995 году он опубликовал исходный код. Изначально инструменты обслуживали персональную страницу; дальнейшее развитие превратило их в самостоятельный язык программирования.
Для чего нужен PHP и где используется
PHP используют для корпоративных сайтов, магазинов, CRM, систем бронирования и серверной части социальных сетей. На PHP можно написать обработчик формы, личный кабинет или служебный скрипт. Возможности определяются кодом приложения, а не появляются после установки языка.
| Задача | Что делает PHP | Пример результата |
|---|---|---|
| Каталог и магазин | Выбирает товары, обрабатывает корзину и заказ | Покупатель видит доступные позиции |
| Личный кабинет | Проверяет права и получает данные пользователя | Клиент открывает историю обращений |
| Форма на сайте | Проверяет поля и сохраняет отправленные данные | Заявка появляется в системе |
| Обмен через API | Принимает запросы и возвращает структурированные данные | Приложение получает статус заказа |
| Служебный скрипт | Обрабатывает файлы или собирает отчёт | Администратор получает выгрузку |
Как работает PHP на стороне сервера
Браузер отправляет HTTP-запрос, веб-сервер передаёт его PHP, программа выполняет действия и возвращает ответ. Это бэкенд, то есть серверная логика. При правильной настройке посетителю приходит результат выполнения, а не исходный код.
Apache может подключать PHP как модуль; Nginx передаёт запросы обработчику, например PHP-FPM. FPM управляет процессами PHP и использует протокол FastCGI. SAPI означает интерфейс взаимодействия PHP с окружением; CLI предназначен для командной строки.
PHP-файл обычно имеет расширение .php и содержит текст программы, иногда вместе с HTML. Скриптом называют саму программу или сценарий. Открытие файла двойным щелчком не запускает PHP: нужен интерпретатор.
Чем PHP отличается от HTML и JavaScript
HTML описывает структуру веб-страницы: заголовки, абзацы, ссылки и формы. CSS отвечает за оформление. PHP позволяет сформировать эту разметку на сервере с учётом данных и действий пользователя.
JavaScript в браузере обрабатывает нажатия, меняет интерфейс и отправляет запросы без полной перезагрузки страницы. PHP принимает такие запросы и выполняет серверные проверки. Эти технологии могут работать вместе в одном приложении.
JavaScript также может работать на сервере. При выборе языка учитывайте существующий код и библиотеки, которые нужны вашему приложению.
Синтаксис PHP: переменные, типы и функции
Программирование на PHP начинается с небольших инструкций. Блок кода открывается тегом <?php, большинство инструкций завершается точкой с запятой. Комментарии помогают объяснить решение, но не выполняются как команды.
Переменные и значения
Имя переменной PHP начинается со знака доллара: $name. Регистр имеет значение: $name и $Name обозначают разные переменные. Оператор = присваивает значение; == сравнивает с преобразованием типов, а === проверяет также совпадение типов.
Основные типы данных: строки, целые и дробные числа, логические значения, массивы и объекты. Значение null обозначает отсутствие значения.
Массив PHP хранит пары ключей и значений. Ключ может быть числом или строкой: $items[0] обращается к элементу по индексу, $user['name'] по имени. Индексированные и ассоциативные массивы используют один тип array.
Динамическая типизация
PHP использует динамическую типизацию: тип обычной переменной определяется её значением, его необязательно объявлять. Некоторые операции автоматически преобразуют типы. Ошибку в таком выражении можно обнаружить только при выполнении или дополнительном анализе кода.
Типы параметров и результата функции можно указать явно. Режим strict_types ограничивает неявное преобразование скалярных аргументов при вызовах из соответствующего файла. Статической типизации он не добавляет и проверку полей формы не заменяет.
Условия, циклы и функции
Условие if выбирает действие по результату проверки. Цикл foreach перебирает элементы массива. Так вы можете показать только доступные товары или обработать несколько строк из файла.
Собственную функцию объявляют словом function, результат возвращают через return. Функция принимает параметры и позволяет переиспользовать действие. Её можно проверять отдельно от страницы.
Классы и объекты
PHP поддерживает объектно-ориентированное программирование (ООП). Класс объявляют словом class, объект создают через new. Свойства хранят данные объекта, методы описывают действия.
Объектный подход помогает разделять обязанности в большом приложении. Новичку достаточно сначала освоить функции, затем классы и интерфейсы.
Пример PHP-кода и запуск первой программы
Сохраните пример в hello.php в кодировке UTF-8. Он выводит приветствие; данные посетителя здесь не используются.
Установите PHP по инструкции на php.net для вашей операционной системы. Откройте терминал в папке с файлом. Команда php -v покажет версию PHP, а php hello.php выполнит скрипт без браузера.
Для запуска через браузер выполните php -S localhost:8000 и откройте http://localhost:8000/hello.php. Если команда php не найдена, проверьте установку и путь к исполняемому файлу.
Встроенный сервер PHP предназначен для разработки и тестирования. Для публичного сайта нужен настроенный веб-сервер.
- Тег <?php открывает блок PHP. В файле только с PHP-кодом закрывающий тег можно опустить.
- Переменная $name получает строку. Точка соединяет строки; echo выводит результат и является языковой конструкцией.
- Результат примера: «Привет, мир!». Чтобы совместить PHP и HTML, разместите код между <?php и ?> в шаблоне.
<?php
$name = 'мир';
echo 'Привет, ' . $name . '!';
PHP и базы данных: как сохраняются сведения
База данных хранит записи, PHP запрашивает или изменяет их. Например, при оформлении заказа программа передаёт проверенные сведения в хранилище.
PDO даёт PHP общий интерфейс доступа к базам через драйверы, в том числе к MySQL, PostgreSQL и SQLite. SQL задаёт операции с записями; PDO не делает синтаксис запросов одинаковым для разных баз.
Значения из формы передают через параметры подготовленного запроса. Нельзя собирать SQL простой склейкой пользовательского ввода. Параметры предназначены для значений; имена таблиц и полей требуют отдельного контроля.
Пользовательский текст перед выводом в HTML обрабатывают, например функцией htmlspecialchars. Это отдельная задача от защиты SQL-запроса. Способ обработки зависит от формата вывода.
Формы, сессии и API в PHP
Параметры адресной строки PHP получает через $_GET, поля обычной POST-формы через $_POST, сведения о загруженных файлах через $_FILES. Это суперглобальные массивы, доступные в разных областях программы. Их значения нужно проверять на сервере.
Сессия PHP сохраняет данные между запросами. session_start() запускает или возобновляет сессию, а $_SESSION хранит её данные. Идентификатор сессии часто передают через cookie. При использовании cookie сессию запускают до вывода страницы. Сессия не заменяет проверку прав пользователя.
API связывает программы: например, PHP получает статус заказа из внешнего сервиса. Ответ часто передают в JSON. Содержимое JSON-запроса не попадает автоматически в $_POST: его читают из тела запроса и разбирают отдельно.
CMS на PHP: WordPress, 1С-Битрикс, Joomla и Drupal
CMS, или система управления содержимым, даёт редактору инструменты для публикации материалов. PHP-разработчик меняет шаблоны и добавляет функции.
WordPress, «1С-Битрикс: Управление сайтом», Joomla и Drupal используют PHP. В редакторе блоков WordPress применяется и JavaScript. Для расширений могут потребоваться оба языка.
Перед обновлением CMS проверьте совместимость её версии, темы и расширений с PHP. Сначала обновите копию сайта и проверьте формы.
Фреймворки PHP и инструменты: Laravel, Symfony, Composer
Фреймворк задаёт архитектуру приложения и правила организации кода. Laravel и Symfony предоставляют маршрутизацию, обработку запросов и другие компоненты PHP-приложения. Логику заказа или расчёта цены пишет разработчик.
CMS подходит для стандартной структуры сайта. Фреймворк даёт гибкую основу для собственных процессов. Короткую служебную программу можно написать на PHP без надстройки.
Composer устанавливает зависимости PHP-проекта с учётом допустимых версий; Packagist служит основным каталогом пакетов. Composer не является фреймворком. Подключение библиотеки не гарантирует отсутствие ошибок или уязвимостей.
Расширения PHP и настройки окружения
Расширения добавляют PHP средства для отдельных задач: GD обрабатывает изображения, mbstring работает с многобайтовыми строками. PHP также может разбирать XML, использовать регулярные выражения, отправлять почту и формировать PDF с подходящей библиотекой.
Настройки PHP задают в php.ini и конфигурации окружения. memory_limit ограничивает память скрипта, upload_max_filesize задаёт предельный размер загружаемого файла. Веб-сервер и CLI могут читать разные конфигурации; наличие нужного расширения проверьте в обоих режимах.
Версии PHP и обновление сайта
На сентябрь 2026 года PHP 8.5 и PHP 8.4 находятся в активной поддержке. Ветки PHP 8.3 и PHP 8.2 получают только исправления критических проблем безопасности. Сроки указаны в официальной таблице PHP.net.
Для нового проекта выбирайте поддерживаемую ветку, совместимую с компонентами. Перед обновлением сайта проверьте CMS, расширения и собственный код.
| Ветка PHP | Активная поддержка до | Исправления безопасности до |
|---|---|---|
| PHP 8.5 | 31 декабря 2027 года | 31 декабря 2029 года |
| PHP 8.4 | 31 декабря 2026 года | 31 декабря 2028 года |
| PHP 8.3 | Завершена | 31 декабря 2027 года |
| PHP 8.2 | Завершена | 31 декабря 2026 года |
Преимущества и ограничения PHP
Производительность зависит от кода, запросов к базе и настроек сервера. OPcache хранит скомпилированный байткод в общей памяти, сокращая повторную обработку исходников. JIT может преобразовывать часть программы в машинный код во время выполнения. Это не ускорит медленный SQL-запрос: сначала измерьте задержки.
- Низкий порог входа: первый результат можно получить коротким скриптом. Для разработки безопасного приложения потребуется более глубокое изучение.
- Открытый исходный код PHP позволяет изучать устройство языка. Сам интерпретатор доступен бесплатно, но хостинг и сопровождение требуют отдельного бюджета.
- Встроенные функции и готовые библиотеки упрощают работу с текстом, файлами и данными. При выборе решения всё равно оценивайте его ограничения.
- PHP работает в Windows, Linux и macOS. Набор расширений и настройки зависят от окружения.
- Динамическая типизация удобна для простого начала, но неявные преобразования могут давать неожиданный результат. Явные типы и проверки помогают находить ошибки.
- Старые примеры PHP не всегда подходят современным версиям. Сверяйте используемые функции с руководством и проверяйте предупреждения при выполнении.
С чего начать изучение PHP
Начните с официального учебника PHP и небольшого проекта: каталога с формой поиска. На курсе ищите практику и разбор ошибок. Меняйте примеры самостоятельно: хороший учебный результат можно объяснить, а не только скопировать код.
- Освойте основы HTML, устройство формы и понятия HTTP-запроса и ответа.
- Установите PHP по инструкции для вашей операционной системы. Проверьте запуск простого файла.
- Изучите переменные, строки, массивы, операторы, условия и циклы. Меняйте примеры и объясняйте результат.
- Добавьте функции, затем классы и объекты. Разделите вывод страницы и обработку данных.
- Освойте базовые запросы SQL и безопасную передачу параметров. Подключите учебную базу.
- Разберитесь с Composer, после этого изучайте выбранную CMS или фреймворк PHP.
Разработка и поддержка сайта
В seosite1 делаем сайты с 2009 года, работаем с 1С-Битрикс и 1С удалённо по России. Если вам нужна разработка сайтов, подготовьте список функций и сведения о текущей системе.
Корпоративный сайт и интернет-магазин стоят от 150 тыс. ₽, поддержка от 30 тыс. ₽ в месяц. Итоговую цену и сроки называем после брифа.
Источники
- PHP: официальное руководство, синтаксис, учебник и безопасность
- PHP: сроки поддержки версий
- Composer: управление зависимостями
- WordPress: основы разработки блоков
- Laravel: документация фреймворка
- Symfony: документация фреймворка
- PHP: история языка и происхождение названия
- 1С-Битрикс: технические требования CMS