В этой части разберем содержимое файла includes\functions\database.php участвующее при создании собственного плагина.
Этот файл реализует базовые и расширенные функции для взаимодействия с базой данных в системе Spruton Studio . Вот основные моменты:
Поддерживаемые функции
Полезные детали
- Используется utf8mb4 , что поддерживает полноценную работу с Unicode (включая эмодзи).
- Все SQL-запросы оборачиваются в
try/catchдля обработки исключений. - Есть логирование медленных/тяжёлых запросов.
- Есть защита от SQL-инъекций через
mysqli_real_escape_string. - Используется HTML Purifier при обработке HTML-контента (
db_prepare_html_input()).
Пример использования функций
1. Подключение к БД
2. Выполнение простого запроса
$result = db_query(«SELECT * FROM app_entity_1 WHERE id=’123′»);
$row = db_fetch_array($result);
echo $row[‘name’];
$row = db_fetch_array($result);
echo $row[‘name’];
3. Добавление новой записи
4. Обновление записи
$data = array(
‘name’ => db_input(‘Обновлённое имя’)
);
db_perform(‘app_entity_1’, $data, ‘update’, «id=’123′»);
‘name’ => db_input(‘Обновлённое имя’)
);
db_perform(‘app_entity_1’, $data, ‘update’, «id=’123′»);
5. Получить запись по ID
$user_info = db_find(‘app_entity_1’, 123);
echo $user_info[‘name’];
echo $user_info[‘name’];
Рекомендации при работе с плагинами
При создании своего плагина:
- Используйте
db_input()для экранирования любых переменных перед вставкой в SQL. - Избегайте ручного формирования запросов — используйте
db_perform()для стандартных операций. - Логируй ошибки или используй механизм исключений, если нужно.
- Для выборки используйте
db_fetch_array()илиdb_fetch()в зависимости от нужного формата данных.