Функции legacy-модуля получают базу через global $db
function getOrderTotal(int $orderId): float
{
global $db;
$rows = $db->query("SELECT price, qty FROM order_items WHERE order_id = $orderId");
...
}
Функцию нельзя протестировать без настоящей базы, а в запросе ещё и подставлено значение строкой. С чего начать улучшения?
- Передавать базу явно и готовить запросы
- Заменить global на $GLOBALS['db']
- Сделать $db статическим свойством класса
- Оставить как есть, раз $orderId типизирован
