Введение в PHP: почему этот язык актуален в 2025 году?
PHP — это серверный язык программирования, который уже более 25 лет остается основой для создания динамических веб-сайтов. В 2025 году PHP продолжает уверенно занимать лидирующие позиции: на нем работают такие гиганты, как WordPress, Facebook (частично), Wikipedia и более 75% всех сайтов, использующих серверные технологии. Если вы решили начать свой путь в веб-разработке, PHP — отличный выбор для старта. Он прост в освоении, имеет огромное сообщество и тысячи готовых библиотек.
В этой статье мы разберем, с чего начать изучение PHP в 2025 году: установим окружение, напишем первый скрипт, познакомимся с основами синтаксиса, научимся работать с формами и базами данных. Все примеры кода можно сразу запускать на своем компьютере.
1. Установка и настройка окружения для PHP
Прежде чем писать код, необходимо подготовить среду разработки. В 2025 году самый простой способ начать — использовать готовые сборки, которые включают PHP, веб-сервер и базу данных.
Рекомендуемые инструменты
- Open Server Panel — популярная сборка для Windows с Apache, PHP, MySQL и phpMyAdmin.
- XAMPP — кроссплатформенное решение для Windows, macOS и Linux.
- Docker — современный подход с контейнерами (для тех, кто хочет глубже изучить devops).
После установки любого из этих пакетов, PHP будет доступен для запуска скриптов. Проверьте установку, создав файл info.php в папке htdocs (или www) со следующим содержимым:
<?php
phpinfo();
?>
Запустите сервер и откройте в браузере http://localhost/info.php. Вы увидите страницу с информацией о версии PHP и настройках. Если это произошло — всё готово к работе.
2. Основы синтаксиса PHP: переменные, типы данных, операторы
PHP — язык с C-подобным синтаксисом, но с некоторыми особенностями. Код PHP начинается с <?php и заканчивается ?> (закрывающий тег не обязателен, если после него нет HTML).
Переменные и типы данных
Переменные в PHP начинаются со знака доллара $. Типизация динамическая — не нужно указывать тип данных явно.
<?php
$name = "Анна"; // строка
$age = 25; // целое число
$height = 1.75; // число с плавающей точкой
$isStudent = true; // булево значение
echo "Привет, $name! Тебе $age лет.";
?>
Основные операторы
- Арифметические:
+,-,*,/,% - Сравнения:
==,===,!=,<,> - Логические:
&&,||,! - Конкатенация строк:
.
Пример работы с условиями и циклами:
<?php
$score = 85;
if ($score >= 90) {
echo "Отлично!";
} elseif ($score >= 70) {
echo "Хорошо.";
} else {
echo "Нужно подтянуть знания.";
}
// Цикл for
for ($i = 1; $i <= 5; $i++) {
echo "Итерация №$i\n";
}
?>
3. Работа с формами и суперглобальными массивами
Одна из главных задач PHP — обработка данных, отправленных из HTML-форм. Для этого используются суперглобальные массивы $_GET и $_POST.
Простая форма обратной связи
Создайте файл form.php:
<!DOCTYPE html>
<html>
<head>
<title>Форма обратной связи</title>
</head>
<body>
<form method="post" action="">
<label>Ваше имя:</label>
<input type="text" name="username" required>
<br>
<label>Сообщение:</label>
<textarea name="message" required></textarea>
<br>
<button type="submit">Отправить</button>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = htmlspecialchars($_POST["username"]);
$message = htmlspecialchars($_POST["message"]);
echo "<h3>Спасибо, $username!</h3>";
echo "<p>Ваше сообщение: $message</p>";
}
?>
</body>
</html>
Функция htmlspecialchars() защищает от XSS-атак, преобразуя специальные символы в HTML-сущности. Это обязательная практика безопасности.
4. Базы данных: начало работы с MySQL и PDO
Практически любой динамический сайт использует базу данных. В связке с PHP чаще всего применяется MySQL. Для работы с ней рекомендуется использовать расширение PDO (PHP Data Objects) — оно обеспечивает безопасную работу с запросами и поддерживает разные СУБД.
Подключение к базе данных и простой запрос
Предположим, у вас есть база данных testdb с таблицей users (поля: id, name, email). Создайте файл db.php:
<?php
$host = 'localhost';
$dbname = 'testdb';
$username = 'root';
$password = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Вставка данных (без