PHP с нуля
Серверный язык, на котором работает половина веба
Что такое PHP
PHP — серверный язык программирования. Браузер его не видит: код выполняется на сервере, а тот отдаёт уже готовый HTML. Именно так на сайте появляются формы, вход в личный кабинет и данные из базы.
На PHP работает около трёх четвертей сайтов, где вообще есть серверная часть, — в основном из-за WordPress, Bitrix и готовых хостингов, где он установлен по умолчанию.
Как проходит запрос
Браузер просит /catalog.php. Веб-сервер (Apache или Nginx) передаёт управление PHP, тот читает код, обращается к базе, собирает HTML и возвращает его. Браузер получает только результат — исходный код недоступен.
<?php
echo "Привет, мир";
?>
Что нужно для старта
- PHP 8.2+ — установщик или сборка XAMPP для Windows.
- База MySQL или MariaDB — почти любой пример это предполагает.
- Редактор кода — VS Code или PHPStorm.
- Хостинг — позже, для публикации. Локально хватит XAMPP.
Основы, без которых не двинуться
- Переменные — начинаются со знака
$:$name = "Анна"; - Типы — строка, целое, дробное, массив,
null; приведение часто неявное. - Массивы — основа всего: и списки, и словари задаются одним типом.
- Функции —
function sum($a, $b) { return $a + $b; }. - Суперглобальные —
$_GET,$_POST,$_SESSIONдля данных запроса.
База данных
Правильный путь — PDO с подготовленными запросами: он не даёт вставить SQL-код через поле формы.
$stmt = $pdo->prepare("SELECT * FROM posts WHERE id = ?");
$stmt->execute([$id]);
$post = $stmt->fetch();
Старые функции mysql_* удалены из языка ещё в PHP 7, а конкатенация переменных в запрос — прямой путь к SQL-инъекции.
Фреймворк или чистый PHP
Начинать стоит с чистого PHP: понять, что такое запрос, сессия и база. Дальше — Laravel или Symfony, где маршрутизация, шаблоны и работа с базой уже собраны. На WordPress пишут без фреймворка, но с его собственной архитектурой.
Где PHP не подходит
Высоконагруженные сервисы на миллионы запросов, задачи с длительными вычислениями и обменом в реальном времени лучше решать на Go, Python или Node.js. PHP хорош в веб-сайтах, админках, API средней нагрузки и там, где нужен дешёвый хостинг.
Нужен сайт, а не статья?
Напишу серверную часть на PHP или Laravel: формы, личный кабинет, интеграции с 1С и оплатой, API. С 2009 года, по договору, с поддержкой после запуска.
Полезно по теме: про WordPress, про Django, про JavaScript.