@bedolazhka

Как дебажить запросы без обёртки?

<?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) ?>

А без обёртки как такое реализовать?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
DevMan
@DevMan
без обертки никак. разве что включать и читать лог мускуля.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы