Skip to content

Практическая работа №10

Подготовка PHP-проекта и подключение базы данных через PDO

Section titled “Подготовка PHP-проекта и подключение базы данных через PDO”

Цель работы:

  • подготовить структуру PHP-проекта;
  • настроить подключение к базе данных через PDO;
  • организовать базовые файлы конфигурации;
  • вывести тестовые данные из базы данных на страницу;
  • подготовить проект к реализации регистрации, авторизации и пользовательской части;

Основные теоретические положения

Section titled “Основные теоретические положения”

Backend — это серверная часть веб-приложения. Она отвечает за обработку данных, работу с базой данных, авторизацию, роли пользователей и бизнес-логику проекта.

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 “Основные требования к практической работе”

В рамках практической работы необходимо:

  1. Подготовить структуру php-проекта.
  2. Создать файл подключения к базе данных.
  3. Подключить базу данных через pdo.
  4. Настроить обработку ошибок подключения.
  5. Выполнить тестовый запрос к базе данных.
  6. Вывести данные на страницу каталога.
  7. Подготовить базовые вспомогательные функции.

Задания для выполнения

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;
  • коммит с результатами работы;

  1. Что такое backend?
  2. Для чего используется PDO?
  3. Почему нельзя напрямую подставлять пользовательские данные в SQL-запрос?
  4. Что такое подготовленное выражение?
  5. Для чего используется htmlspecialchars?
  6. Почему подключение к базе данных лучше вынести в отдельный файл?

Рекомендуемые материалы

Section titled “Рекомендуемые материалы”
  1. Требования к итоговому проекту.
  2. Дорожная карта учебной практики.
  3. Git-репозиторий индивидуального проекта.
  4. Документация, подготовленная на предыдущих этапах.
  5. Материалы по теме практической работы.