Основы синтаксиса PHP 8
Изучение базовых конструкций языка, переменных, типов данных и новых возможностей PHP 8 в контексте создания интернет-магазина.
Добро пожаловать в курс по созданию интернет-магазина на PHP 8 и Laravel! Следуя методологии Direct Instruction, мы начнем с максимально четкого и структурированного разбора основ. PHP (Hypertext Preprocessor) — это язык программирования, который выполняется на стороне сервера. Когда пользователь заходит в ваш будущий интернет-магазин, сервер обрабатывает PHP-код, обращается к базе данных за товарами и возвращает в браузер готовый HTML-код. Версия PHP 8 привнесла в язык строгую типизацию и множество синтаксических улучшений, которые делают код более безопасным и предсказуемым. В этом уроке мы применим Chunking (чанкинг), разбив базовый синтаксис на небольшие, легко усваиваемые порции. Мы начнем с переменных. Переменная в PHP всегда начинается со знака доллара ($). Это контейнер, в котором мы будем хранить данные нашего магазина: цены товаров, имена пользователей, содержимое корзины. Важно понимать, что PHP является языком с динамической типизацией, но в 8-й версии мы можем (и должны) жестко указывать типы данных для предотвращения критических ошибок, например, когда цена товара внезапно становится строкой вместо числа.
<?php
// Строгая типизация в PHP 8
declare(strict_types=1);
// Базовые типы данных для интернет-магазина
$productName = "Ноутбук"; // string (строка)
$productPrice = 1200.50; // float (число с плавающей точкой)
$stockQuantity = 15; // int (целое число)
$isAvailable = true; // bool (логический тип)
echo "Товар: " . $productName . " стоит $" . $productPrice;
?>
Типичная ошибка новичков — забывать точку с запятой (;) в конце строки или путать оператор присваивания (=) с оператором сравнения (==). В строгом режиме (declare(strict_types=1);) PHP не позволит вам передать строку туда, где ожидается число. Это спасает от множества багов на этапе оформления заказа (Checkout). Теперь давайте рассмотрим мощную новинку PHP 8 — выражение match. До PHP 8 разработчики использовали конструкцию switch, которая часто приводила к ошибкам из-за нестрогого сравнения и необходимости писать break. Выражение match работает как швейцарский нож: оно возвращает значение, использует строгое сравнение (===) и не требует break. Это идеально подходит для определения статусов заказа в нашей e-commerce системе.
<?php
$statusCode = 2;
// Использование match для статусов заказа
$statusName = match($statusCode) {
1 => 'Новый',
2 => 'Оплачен',
3 => 'Доставлен',
default => 'Неизвестный статус',
};
echo "Статус вашего заказа: " . $statusName;
?>
В чем главное преимущество выражения `match` в PHP 8 по сравнению со старым `switch`?
Какой обязательный символ должен стоять перед именем каждой переменной в PHP?
Флеш-карточки
Тип данных: int
Нажмите, чтобы увидеть ответ
Целое число (например, количество товаров на складе: 10)
Нажмите, чтобы вернуться
Тип данных: float
Нажмите, чтобы увидеть ответ
Число с плавающей точкой (например, цена товара: 99.99)
Нажмите, чтобы вернуться
Тип данных: bool
Нажмите, чтобы увидеть ответ
Логическое значение: true (истина) или false (ложь)
Нажмите, чтобы вернуться