Практическая работа №10
Подготовка PHP-проекта и подключение базы данных через PDO
Section titled “Подготовка PHP-проекта и подключение базы данных через PDO”Цель работы:
- подготовить структуру PHP-проекта;
- настроить подключение к базе данных через PDO;
- организовать базовые файлы конфигурации;
- вывести тестовые данные из базы данных на страницу;
- подготовить проект к реализации регистрации, авторизации и пользовательской части;
Основные теоретические положения
Section titled “Основные теоретические положения”Что такое PHP backend?
Section titled “Что такое PHP backend?”Backend — это серверная часть веб-приложения. Она отвечает за обработку данных, работу с базой данных, авторизацию, роли пользователей и бизнес-логику проекта.
Что такое PDO?
Section titled “Что такое PDO?”PDO — это встроенный в PHP интерфейс для работы с базами данных. Он позволяет подключаться к БД, выполнять SQL-запросы, получать данные и использовать подготовленные выражения.
$pdo = new PDO( 'mysql:host=localhost;dbname=project_db;charset=utf8mb4', 'root', '');Почему нужны подготовленные выражения?
Section titled “Почему нужны подготовленные выражения?”Подготовленные выражения помогают безопасно передавать данные в SQL-запросы.
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");$stmt->execute([$email]);$user = $stmt->fetch();Производственная ситуация
Section titled “Производственная ситуация”Вы уже спроектировали базу данных и подготовили SQL-скрипты. Теперь нужно подключить базу данных к PHP-проекту и убедиться, что данные можно получить и вывести на странице.
Основные требования к практической работе
Section titled “Основные требования к практической работе”В рамках практической работы необходимо:
- Подготовить структуру php-проекта.
- Создать файл подключения к базе данных.
- Подключить базу данных через pdo.
- Настроить обработку ошибок подключения.
- Выполнить тестовый запрос к базе данных.
- Вывести данные на страницу каталога.
- Подготовить базовые вспомогательные функции.
Задания для выполнения
Section titled “Задания для выполнения”Задание 1. Подготовка структуры проекта
Section titled “Задание 1. Подготовка структуры проекта”Создайте папки /public, /src/config, /src/helpers, /src/models, /admin, /database, /docs.
Задание 2. Создание подключения к БД
Section titled “Задание 2. Создание подключения к БД”Создайте файл /src/config/database.php и настройте подключение через PDO.
Задание 3. Проверка подключения
Section titled “Задание 3. Проверка подключения”Выведите временное сообщение об успешном подключении, после проверки удалите его.
Задание 4. Тестовый SQL-запрос
Section titled “Задание 4. Тестовый SQL-запрос”Выполните запрос к основной таблице каталога и получите данные через fetchAll().
Задание 5. Вывод данных на странице
Section titled “Задание 5. Вывод данных на странице”Выведите данные на странице каталога в виде карточек.
Задание 6. Безопасный вывод
Section titled “Задание 6. Безопасный вывод”Создайте функцию e() для безопасного вывода текста через htmlspecialchars.
Задание 7. Заготовка JSON-ответов
Section titled “Задание 7. Заготовка JSON-ответов”Создайте файл /src/helpers/response.php с функцией jsonResponse() для будущих AJAX-запросов.
Задание 8. Проверка структуры
Section titled “Задание 8. Проверка структуры”Проверьте, что пути к файлам корректные, подключение работает, данные выводятся.
Задание 9. Коммит результатов
Section titled “Задание 9. Коммит результатов”Выполните коммит с сообщением connect database with PDO.
Требования к результату
Section titled “Требования к результату”К завершению практической работы должны быть подготовлены:
- структура PHP-проекта;
/src/config/database.php;- подключение к MySQL/MariaDB через PDO;
- вывод данных из базы на странице;
/src/helpers/helpers.php;/src/helpers/response.php;- коммит с результатами работы;
Контрольные вопросы
Section titled “Контрольные вопросы”- Что такое backend?
- Для чего используется PDO?
- Почему нельзя напрямую подставлять пользовательские данные в SQL-запрос?
- Что такое подготовленное выражение?
- Для чего используется
htmlspecialchars? - Почему подключение к базе данных лучше вынести в отдельный файл?
Рекомендуемые материалы
Section titled “Рекомендуемые материалы”- Требования к итоговому проекту.
- Дорожная карта учебной практики.
- Git-репозиторий индивидуального проекта.
- Документация, подготовленная на предыдущих этапах.
- Материалы по теме практической работы.