Уроки курса
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 мин

Оптимизация и подготовка к production

Кеширование конфигураций, маршрутов и представлений с помощью artisan-команд для ускорения работы приложения. Разбор частых ошибок.

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

Разница между локальной разработкой и Production

При разработке на локальном компьютере (Local Environment) Laravel динамически загружает конфигурации, парсит маршруты и компилирует Blade-шаблоны при каждом запросе. Это удобно, так как вы сразу видите изменения в коде. Однако на рабочем сервере (Production) такой подход тратит огромное количество ресурсов процессора и замедляет загрузку страниц.

Согласно методологии Mastery Learning, прежде чем выкладывать проект в сеть, вы должны в совершенстве освоить процесс оптимизации. Laravel предоставляет набор команд для кеширования всех тяжелых структур в единые файлы.

bash
# Список обязательных команд перед запуском в Production:

# 1. Кеширование конфигурационных файлов (.env и папка config)
php artisan config:cache

# 2. Кеширование маршрутов (routes/web.php)
php artisan route:cache

# 3. Кеширование Blade шаблонов (прекомпиляция HTML)
php artisan view:cache

# 4. Кеширование событий и слушателей
php artisan event:cache

Ловушка функции env() — Критическая ошибка новичков

Это самая частая ошибка при деплое Laravel-приложений. Функция env('PARAM_NAME') читает данные прямо из файла .env. Когда вы выполняете команду php artisan config:cache, Laravel собирает все конфиги в один файл для скорости. После этого файл .env больше не читается системой!

Если вы использовали функцию env() где-то в контроллере или представлении (например, $key = env('STRIPE_SECRET');), то на production сервере эта функция вернет null, и ваше приложение сломается. Вызов env() должен происходить только внутри файлов конфигурации в папке config/. В коде приложения нужно использовать функцию-хелпер config().

php
// ❌ НЕПРАВИЛЬНО (Сломается после config:cache):
public function processPayment() {
    $secret = env('STRIPE_SECRET'); // Вернет null в production!
}

// ✅ ПРАВИЛЬНО:
// 1. В файле config/services.php создаем привязку:
'stripe' => [
    'secret' => env('STRIPE_SECRET'),
],

// 2. В контроллере используем функцию config():
public function processPayment() {
    $secret = config('services.stripe.secret'); // Работает всегда!
}