ADR-003: Использование QueryBuilder
Принято
Контекст
Заголовок раздела «Контекст»Ручное написание SQL-запросов подвержено ошибкам и инъекциям. QueryBuilder обеспечивает безопасный API.
Решение
Заголовок раздела «Решение»Внедрить класс QueryBuilder для построения SQL-запросов.
Обоснование
Заголовок раздела «Обоснование»- Безопасность (защита от SQL-инъекций)
- Читаемость кода
- Переносимость между СУБД
- Меньше ошибок
Последствия
Заголовок раздела «Последствия»- Новый API для разработчиков
- Миграция существующих запросов
- Лучший контроль качества кода
Примеры
Заголовок раздела «Примеры»// Вместо ручного SQL:// SELECT * FROM users WHERE status = 'active'
// Используйте QueryBuilder:QueryBuilder::table('users') ->where('status', '=', 'active') ->get();QueryBuilder упрощает разработку и улучшает безопасность БД.