<?php
namespace core\base;
use core\libs\Db;
abstract class Model
{
protected $connection;
public static $queries; // свойство для дебага запросов
public function __construct()
{
$this->connection = Db::getInstance();
}
protected function pdo($sql, $params = [])
{
self::$queries[] = $sql; // заполняем свойство
$query = $this->connection->prepare($sql);
if (array_key_exists(0, $params)) {
$i = 1;
foreach ($params as $param) {
$query->bindValue($i++, $param, Db::castToType($param));
}
} else {
foreach ($params as $key => $param) {
$query->bindValue($key, $param, Db::castToType($param));
}
}
$query->execute();
return $query;
}
}
/// ну и там, где нужен дебаг, распечатываем на экран массив запросов
<?= debug(\core\base\Model::$queries) ?>
А без обёртки как такое реализовать?