Уроки курса
1 Основы синтаксиса PHP 8
60 мин
2 Функции и управляющие конструкции
60 мин
3 Объектно-ориентированное программирование на PHP
60 мин
4 Наследование, интерфейсы и полиморфизм
60 мин
5 Основы баз данных MySQL и работа через PDO
60 мин
6 Архитектурный паттерн MVC
60 мин
7 Введение в Laravel и настройка окружения
60 мин
8 Маршрутизация и контроллеры в Laravel
60 мин
9 Шаблонизатор Blade и создание интерфейса
60 мин
10 Миграции баз данных и Eloquent ORM
60 мин
11 Связи моделей в Eloquent — Настройка связей 'один …
60 мин
12 Аутентификация и защита маршрутов
60 мин
13 Разработка каталога товаров и категорий
60 мин
14 Реализация корзины покупок через сессии
60 мин
15 Оформление заказа и транзакции базы данных
60 мин
16 Интеграция платежной системы Stripe
60 мин
17 Интеграция платежной системы Vipps
60 мин
18 Разработка панели администратора
60 мин
19 Оптимизация и подготовка к production
60 мин
20 Деплой Laravel-приложения на сервер
60 мин
21 Основы PHP 8: Синтаксис, переменные и управляющие конструкции
60 мин
22 Функции и массивы в PHP 8
60 мин
23 Объектно-ориентированное программирование: Классы и объекты
60 мин
24 Продвинутое ООП: Наследование, интерфейсы и полиморфизм
60 мин
25 Основы баз данных: Проектирование БД и работа с …
60 мин
26 Взаимодействие PHP с MySQL через PDO
60 мин
27 Архитектура MVC и введение в фреймворк Laravel
60 мин
28 Маршрутизация и контроллеры в Laravel
60 мин
29 Шаблонизатор Blade: Создание пользовательского интерфейса
60 мин
30 Миграции и Eloquent ORM: Создание таблиц товаров
60 мин
31 Связи в Eloquent ORM: Отношения между моделями
60 мин
32 Аутентификация и авторизация пользователей
60 мин
33 Разработка каталога товаров: Вывод, фильтрация и пагинация
60 мин
34 Реализация корзины покупок с использованием сессий
60 мин
35 Оформление заказа: Работа с формами и валидация
60 мин
36 Транзакции базы данных: Сохранение заказа
60 мин
37 Интеграция платежной системы Stripe
60 мин
38 Интеграция платежной системы Vipps
60 мин
39 Создание панели администратора
60 мин
40 Подготовка к production и деплой приложения
60 мин
41 Основы PHP 8 и синтаксис
60 мин
42 Объектно-ориентированное программирование на PHP
60 мин
43 Продвинутое ООП и интерфейсы
60 мин
44 Основы баз данных и MySQL
60 мин
45 Архитектурный паттерн MVC
60 мин
46 Введение в Laravel и маршрутизация
60 мин
47 Шаблонизатор Blade и верстка интерфейса
60 мин
48 Миграции и структура базы данных
60 мин
49 Eloquent ORM и модели
60 мин
50 Отношения в Eloquent ORM
60 мин
51 Авторизация и защита маршрутов
60 мин
52 Создание каталога товаров
60 мин
53 Реализация корзины покупок
60 мин
54 Оформление заказа и транзакции БД
60 мин
55 Интеграция платежной системы Stripe
60 мин
56 Интеграция платежной системы Vipps
60 мин
57 Панель администратора: управление товарами
60 мин
58 Панель администратора: управление заказами
60 мин
59 Подготовка к production и деплой
60 мин
60 Запуск и тестирование готового интернет-магазина
60 мин

Основы синтаксиса PHP 8

Изучение базовых конструкций языка, переменных, типов данных и новых возможностей PHP 8 в контексте создания интернет-магазина.

Прогресс урока: 0%

Добро пожаловать в курс по созданию интернет-магазина на PHP 8 и Laravel! Следуя методологии Direct Instruction, мы начнем с максимально четкого и структурированного разбора основ. PHP (Hypertext Preprocessor) — это язык программирования, который выполняется на стороне сервера. Когда пользователь заходит в ваш будущий интернет-магазин, сервер обрабатывает PHP-код, обращается к базе данных за товарами и возвращает в браузер готовый HTML-код. Версия PHP 8 привнесла в язык строгую типизацию и множество синтаксических улучшений, которые делают код более безопасным и предсказуемым. В этом уроке мы применим Chunking (чанкинг), разбив базовый синтаксис на небольшие, легко усваиваемые порции. Мы начнем с переменных. Переменная в PHP всегда начинается со знака доллара ($). Это контейнер, в котором мы будем хранить данные нашего магазина: цены товаров, имена пользователей, содержимое корзины. Важно понимать, что PHP является языком с динамической типизацией, но в 8-й версии мы можем (и должны) жестко указывать типы данных для предотвращения критических ошибок, например, когда цена товара внезапно становится строкой вместо числа.

php
<?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
<?php
$statusCode = 2;

// Использование match для статусов заказа
$statusName = match($statusCode) {
    1 => 'Новый',
    2 => 'Оплачен',
    3 => 'Доставлен',
    default => 'Неизвестный статус',
};

echo "Статус вашего заказа: " . $statusName;
?>

В чем главное преимущество выражения `match` в PHP 8 по сравнению со старым `switch`?

Какой обязательный символ должен стоять перед именем каждой переменной в PHP?