mirror of
https://github.com/dg/dibi.git
synced 2025-08-05 21:58:10 +02:00
DibiConnection: uses single DibiTranslator object (per-connection)
This commit is contained in:
@@ -34,6 +34,9 @@ class DibiConnection extends DibiObject
|
|||||||
/** @var IDibiDriver Driver */
|
/** @var IDibiDriver Driver */
|
||||||
private $driver;
|
private $driver;
|
||||||
|
|
||||||
|
/** @var IDibiDriver Driver */
|
||||||
|
private $translator;
|
||||||
|
|
||||||
/** @var IDibiProfiler Profiler */
|
/** @var IDibiProfiler Profiler */
|
||||||
private $profiler;
|
private $profiler;
|
||||||
|
|
||||||
@@ -88,6 +91,7 @@ class DibiConnection extends DibiObject
|
|||||||
$config['name'] = $name;
|
$config['name'] = $name;
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->driver = new $class;
|
$this->driver = new $class;
|
||||||
|
$this->translator = new DibiTranslator($this->driver);
|
||||||
|
|
||||||
// profiler
|
// profiler
|
||||||
$profilerCfg = & $config['profiler'];
|
$profilerCfg = & $config['profiler'];
|
||||||
@@ -251,8 +255,7 @@ class DibiConnection extends DibiObject
|
|||||||
{
|
{
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
$this->connect();
|
$this->connect();
|
||||||
$translator = new DibiTranslator($this->driver);
|
return $this->nativeQuery($this->translator->translate($args));
|
||||||
return $this->nativeQuery($translator->translate($args));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -267,8 +270,7 @@ class DibiConnection extends DibiObject
|
|||||||
{
|
{
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
$this->connect();
|
$this->connect();
|
||||||
$translator = new DibiTranslator($this->driver);
|
return $this->translator->translate($args);
|
||||||
return $translator->translate($args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -283,8 +285,7 @@ class DibiConnection extends DibiObject
|
|||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
$this->connect();
|
$this->connect();
|
||||||
try {
|
try {
|
||||||
$translator = new DibiTranslator($this->driver);
|
dibi::dump($this->translator->translate($args));
|
||||||
dibi::dump($translator->translate($args));
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
} catch (DibiException $e) {
|
} catch (DibiException $e) {
|
||||||
@@ -305,8 +306,7 @@ class DibiConnection extends DibiObject
|
|||||||
{
|
{
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
$this->connect();
|
$this->connect();
|
||||||
$translator = new DibiTranslator($this->driver);
|
return new DibiDataSource($this->translator->translate($args), $this);
|
||||||
return new DibiDataSource($translator->translate($args), $this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user