1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/shiwolang-RapidDB

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Log.php 1.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
shiwolang Отправлено 28.11.2015 13:35 ddb3799
<?php
/**
* Created by zhou.
* User: zhou
* Date: 2015/11/28
* Time: 10:26
*/
namespace shiwolang\db;
class Log
{
/**
* @var string
*/
protected $sql = "";
protected $params = [];
/**
* @var null|DB
*/
protected $db = null;
public function __construct($db, $sql = "", $params = [])
{
$this->db = $db;
$this->sql = $sql;
$this->params = $params;
}
public function getSql($raw = false)
{
if ($raw) {
return $this->getRawSql();
} else {
return $this->sql;
}
}
public function getRawSql()
{
if (empty($this->params)) {
return $this->sql;
}
$params = $this->params;
$sql = '';
if (isset($params[0])) {
foreach (explode('?', $this->sql) as $i => $part) {
if (!empty($part)) {
$param = (isset($params[$i]) ? $params[$i] : '');
$sql .= $part . $this->db->getPdo()->quote($param);
}
}
} else {
$sql = $this->sql;
foreach ($params as $name => $param) {
$sql = strtr($sql, [$name => $this->db->getPdo()->quote($param)]);
}
}
return $sql;
}
function __debugInfo()
{
return [
"sql" => [
"statement" => $this->getSql(),
"params" => $this->params
],
"rawSql" => $this->getRawSql()
];
}
function __toString()
{
return $this->getRawSql();
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/shiwolang-RapidDB.git
git@api.gitlife.ru:oschina-mirror/shiwolang-RapidDB.git
oschina-mirror
shiwolang-RapidDB
shiwolang-RapidDB
master