PHP: Создаём блог с нуля
Практический курс — продолжение «PHP — Полный курс». От настройки Docker до готового блога с авторизацией и админ-панелью. Создадите реальный проект с нуля!
Начать курсПрограмма курса
Последовательно изучайте материал от простого к сложному
Как на самом деле работает веб-разработка
Разбираемся, что происходит когда вы открываете сайт. Почему нужен сервер. Что мы будем создавать.
Терминал: ваш новый инструмент
Что такое терминал, как его открыть, базовые команды. Не бойтесь командной строки!
Установка VS Code — редактора кода
Устанавливаем Visual Studio Code. Настраиваем для PHP. Создаём первый файл.
Пути к файлам — важная основа
Абсолютные и относительные пути. Как компьютер находит файлы. Почему это критично понимать.
Что такое Docker и зачем он нужен
Разбираемся, что такое контейнеры, образы и почему Docker упрощает жизнь разработчика.
Установка Docker Desktop
Пошаговая установка Docker Desktop на Windows и macOS с объяснением каждого шага.
Создаём файлы конфигурации Docker
Создаём docker-compose.yml и Dockerfile. Разбираем каждую строку — что она делает и зачем.
Запускаем проект в Docker
Первый запуск контейнеров. Проверяем что всё работает. Основные команды Docker.
От песочницы к реальным файлам
Как применить знания из базового курса в реальной разработке. Цикл редактирования и просмотра.
Работа с несколькими файлами
Как разделить код на файлы. Подключение файлов через include и require.
Формы и обработка данных
GET и POST запросы. Как получить данные из формы. Безопасность и валидация.
Функции и организация кода
Создаём свои функции. Выносим повторяющийся код. Файл с функциями-помощниками.
Composer — менеджер зависимостей PHP
Что такое Composer, зачем он нужен. Установка пакетов. Автозагрузка классов.
Что такое база данных и зачем она нужна
Понятие базы данных на пальцах. Таблицы, столбцы, строки. Почему не хранить данные в файлах.
phpMyAdmin — управление базой данных
Знакомство с phpMyAdmin. Создаём таблицы для блога через визуальный интерфейс.
Основы SQL — язык запросов к базе данных
SELECT, INSERT, UPDATE, DELETE — основные команды SQL. Учимся писать запросы.
PDO — подключаем PHP к базе данных
Подключение к MySQL из PHP. PDO — безопасный способ работы с базой. Подготовленные запросы.
Создаём функции для работы с данными
Организуем код: функции для получения постов, пользователей. Выводим реальные данные на сайте.
Сессии — как сайт запоминает пользователя
Что такое сессии, как они работают, зачем нужны. session_start() и суперглобальный массив $_SESSION.
Форма регистрации
Создаём форму регистрации. Валидация данных. Хеширование паролей. Сохранение в базу.
Форма входа в систему
Создаём форму входа. Проверяем логин и пароль. Сохраняем пользователя в сессию.
Защита страниц и права доступа
Как ограничить доступ к страницам. Функции проверки авторизации. Подготовка к админ-панели.
Создание нового поста
Форма создания поста. Только для авторизованных пользователей.
Редактирование поста
Форма редактирования. Проверка прав доступа — только автор может редактировать.
Удаление поста
Безопасное удаление с подтверждением. Защита от CSRF-атак.
Роли пользователей — админ и обычный
Добавляем поле role в базу. Разделяем права: обычные пользователи и администраторы.
Создаём админ-панель
Отдельный раздел для администраторов. Управление постами и пользователями.
Собираем всё вместе — готовый блог
Итоговая структура проекта. Как всё работает вместе. Пошаговая проверка всех функций.
Безопасность веб-приложений
Основные угрозы и защита: XSS, SQL-инъекции, CSRF. Чек-лист безопасности.
Как улучшить ваш блог
Идеи для развития: комментарии, теги, загрузка картинок, пагинация, поиск.
Публикация блога в интернете
Как опубликовать блог в интернете. Выбор хостинга, настройка базы данных, загрузка файлов.
Итоги курса и куда двигаться дальше
Что вы создали. Что изучить дальше. Ресурсы для развития.