PHP: Интернет-магазин с нуля
Научить с нуля создавать полноценный интернет-магазин на PHP 8 / Laravel: основы PHP, ООП, работа с MySQL, MVC-паттерн, Laravel, Eloquent ORM, авторизация, каталог товаров, корзина, оформление заказа, интеграция с платёжными системами (Stripe, Vipps), деплой. Готовый проект к концу курса.
Методики обучения:
Программа курса
Изучение базовых конструкций языка, переменных, типов данных и новых возможностей PHP 8 в контексте создания интернет-магазина.
Начать урокРабота с условиями, циклами и создание пользовательских функций для структурирования логики обработки данных.
Начать урокПонимание классов, объектов, свойств и методов. Использование Constructor Property Promotion для лаконичного кода.
Начать урокСоздание гибкой архитектуры приложения с помощью интерфейсов и абстрактных классов на примере интеграции платежных шлюзов (Stripe, Vipps).
Начать урокПроектирование реляционных баз данных, выполнение SQL-запросов и безопасное подключение к БД через PDO.
Начать урокРазделение логики приложения на модели, представления и контроллеры для грамотного структурирования кода.
Начать урокУстановка фреймворка, изучение структуры директорий и базовая настройка конфигурации через файл .env.
Начать урокСоздание маршрутов, обработка HTTP-запросов и передача данных из контроллеров в представления.
Начать урокСоздание переиспользуемых макетов страниц (layouts) и вывод динамических данных интернет-магазина в HTML.
Начать урокСоздание таблиц через миграции и выполнение CRUD-операций с помощью моделей Laravel.
Начать урокИзучение реляционных связей в Laravel Eloquent ORM. Мы настроим взаимодействия между моделями Category, Product, Order и OrderItem, применяя методологию Direct Instruction для глубокого понимания архитектуры базы данных.
Начать урокНастройка системы регистрации и авторизации пользователей, а также защита приватных страниц с помощью middleware. Применение метода Scaffolding для поэтапного внедрения безопасности.
Начать урокВывод списка категорий и товаров, реализация пагинации и детальной страницы продукта. Фокус на Project-Based Learning.
Начать урокДобавление, удаление товаров и изменение их количества в корзине с использованием механизма сессий. Применение Mastery Learning для безошибочного управления состоянием.
Начать урокСохранение данных заказа и связанных товаров в БД с обеспечением атомарности операций через DB::transaction. Финализация основного функционала магазина.
Начать урокПодключение Stripe Checkout Session для безопасной обработки платежей банковскими картами. Изучение принципов работы платежных шлюзов.
Начать урокНастройка альтернативного способа оплаты через API Vipps для расширения возможностей магазина. Изучение работы с вебхуками.
Начать урокСоздание закрытой зоны для управления товарами, категориями и просмотра списка заказов. Работа с Middleware и загрузкой файлов.
Начать урокКеширование конфигураций, маршрутов и представлений с помощью artisan-команд для ускорения работы приложения. Разбор частых ошибок.
Начать урокПеренос готового интернет-магазина на боевой хостинг, настройка веб-сервера и окружения. Завершение работы над проектом.
Начать урокСтудент изучит базовый синтаксис PHP 8, работу с переменными, типами данных и управляющими конструкциями, включая новое выражение match.
Начать урокСтудент научится создавать функции со строгой типизацией, работать с массивами и применять встроенные возможности PHP для обработки данных.
Начать урокСтудент освоит базовые концепции ООП, научится создавать классы и методы, а также использовать Constructor Property Promotion для сокращения кода.
Начать урокСтудент поймет принципы наследования и инкапсуляции, научится применять интерфейсы на практике при проектировании различных платежных шлюзов.
Начать урокСтудент познакомится с реляционными базами данных, спроектирует структуру таблиц для интернет-магазина и напишет базовые SQL-запросы.
Начать урокСтудент освоит безопасное подключение к базе данных с помощью PDO, научится выполнять CRUD-операции и защищаться от SQL-инъекций.
Начать урокСтудент разберет паттерн Model-View-Controller, установит Laravel и создаст базовую структуру проекта будущего интернет-магазина.
Начать урокСтудент научится настраивать маршруты приложения в web.php и создавать контроллеры для обработки HTTP-запросов пользователя.
Начать урокСтудент освоит шаблонизатор Blade для создания переиспользуемых компонентов интерфейса (layouts) и вывода динамических данных на страницах.
Начать урокСтудент напишет миграции для создания таблиц базы данных и научится использовать модели Eloquent для удобной работы с записями.
Начать урокСтудент настроит связи «один ко многим» и «многие ко многим» между категориями, товарами и заказами, используя возможности Eloquent.
Начать урокСтудент внедрит систему регистрации и входа на сайт, а также научится защищать приватные маршруты с помощью middleware 'auth'.
Начать урокСтудент реализует публичную часть магазина: вывод списка товаров из БД, фильтрацию по категориям и удобную постраничную навигацию.
Начать урокСтудент создаст функционал корзины, научится добавлять товары, изменять их количество и пересчитывать итоговую сумму, сохраняя данные в сессии.
Начать урокСтудент разработает страницу оформления заказа, настроит сбор контактных данных пользователя и их строгую валидацию на стороне сервера.
Начать урокИзучение концепции транзакций БД (ACID). Применение DB::transaction для атомарного сохранения заказа и позиций корзины. Очистка сессии.
Начать урокПодключение Stripe API. Создание сессии оплаты (Checkout Session). Обработка успешных и отмененных платежей.
Начать урокАльтернативные методы оплаты. Работа с REST API Vipps. Настройка и обработка вебхуков (Webhooks) для асинхронного подтверждения платежей.
Начать урокРазработка защищенной зоны (Admin Panel) для управления каталогом товаров (CRUD) и просмотра поступивших заказов. Настройка Middleware.
Начать урокПеренос проекта на боевой сервер. Настройка .env для production. Кеширование конфигураций, маршрутов и представлений. Управление зависимостями.
Начать урокИзучение базового синтаксиса PHP 8, переменных, типов данных и новых управляющих конструкций, таких как выражение match.
Начать урокОсвоение классов, объектов, свойств и методов, а также продвинутого объявления свойств в конструкторе (Constructor Property Promotion).
Начать урокПринципы наследования, полиморфизма и работа с интерфейсами для подготовки к интеграции платежных шлюзов (Stripe, Vipps).
Начать урокПроектирование таблиц, написание SQL-запросов и безопасное подключение к базе данных через PDO.
Начать урокРазбор концепции Model-View-Controller и понимание грамотного разделения логики приложения, работы с данными и интерфейса.
Начать урокУстановка фреймворка, изучение структуры директорий, настройка маршрутов (Routing) и создание базовых контроллеров для интернет-магазина.
Начать урокИзучение встроенного шаблонизатора Laravel. Создание переиспользуемых шаблонов (Layouts), компонентов и безопасный вывод динамических данных магазина.
Начать урокПроектирование базы данных интернет-магазина. Создание таблиц товаров и категорий с помощью системы контроля версий баз данных Laravel (Миграций).
Начать урокОсвоение паттерна ActiveRecord в Laravel. Создание моделей для работы с базой данных без написания SQL-запросов. Выполнение CRUD операций (создание, чтение, обновление, удаление).
Начать урокНастройка связей между таблицами базы данных на уровне классов PHP. Изучение отношений «один ко многим» и решение проблемы N+1 при выборке связанных данных.
Начать урокСтудент внедрит систему регистрации и входа, а также научится защищать страницы профиля и оформления заказа с помощью middleware.
Начать урокСтудент разработает публичную часть магазина с выводом товаров, фильтрацией по категориям и постраничной навигацией.
Начать урокСтудент реализует функционал корзины с использованием сессий, научится добавлять товары, менять их количество и считать итоговую сумму.
Начать урокСтудент напишет логику сохранения заказа в базу данных, используя транзакции для обеспечения атомарности и целостности данных.
Начать урокСтудент подключит Stripe Checkout Session для приема платежей по банковским картам и настроит обработку успешной оплаты.
Начать урокСтудент добавит альтернативный способ оплаты через популярную систему Vipps, работая с внешними API, и изучит концепцию вебхуков.
Начать урокСтудент создаст защищенный раздел для администратора, где реализует добавление, редактирование и удаление товаров.
Начать урокСтудент добавит интерфейс для просмотра списка заказов пользователей и изменения их статусов, решая проблему N+1 запроса.
Начать урокСтудент узнает, как правильно настроить .env файл для боевого сервера и оптимизировать приложение с помощью команд кеширования.
Начать урокСтудент проведет полное тестирование всех функций проекта, исправит возможные ошибки и выполнит финальный запуск интернет-магазина.
Начать урок