1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-06 06:07:39 +02:00

DibiConnection::alias() refactoring

This commit is contained in:
David Grudl
2010-05-19 15:29:38 +02:00
parent 27d58bff40
commit 550c477797
5 changed files with 11 additions and 12 deletions

View File

@@ -68,7 +68,7 @@ class DibiMySqlDriver extends DibiObject implements IDibiDriver
*/
public function connect(array &$config)
{
DibiConnection::alias($config, 'options');
$foo = & $config['options'];
if (isset($config['resource'])) {
$this->connection = $config['resource'];

View File

@@ -68,8 +68,8 @@ class DibiMySqliDriver extends DibiObject implements IDibiDriver
*/
public function connect(array &$config)
{
DibiConnection::alias($config, 'options');
DibiConnection::alias($config, 'database');
$foo = & $config['options'];
$foo = & $config['database'];
if (isset($config['resource'])) {
$this->connection = $config['resource'];

View File

@@ -62,7 +62,7 @@ class DibiOracleDriver extends DibiObject implements IDibiDriver
*/
public function connect(array &$config)
{
DibiConnection::alias($config, 'charset');
$foo = & $config['charset'];
$this->fmtDate = isset($config['formatDate']) ? $config['formatDate'] : 'U';
$this->fmtDateTime = isset($config['formatDateTime']) ? $config['formatDateTime'] : 'U';

View File

@@ -57,9 +57,9 @@ class DibiPdoDriver extends DibiObject implements IDibiDriver
*/
public function connect(array &$config)
{
DibiConnection::alias($config, 'dsn');
$foo = & $config['dsn'];
$foo = & $config['options'];
DibiConnection::alias($config, 'resource', 'pdo');
DibiConnection::alias($config, 'options');
if ($config['resource'] instanceof PDO) {
$this->connection = $config['resource'];

View File

@@ -193,15 +193,14 @@ class DibiConnection extends DibiObject
* @param string alias key
* @return void
*/
public static function alias(&$config, $key, $alias=NULL)
public static function alias(&$config, $key, $alias)
{
if (isset($config[$key])) return;
$foo = & $config;
foreach (explode('|', $key) as $key) $foo = & $foo[$key];
if ($alias !== NULL && isset($config[$alias])) {
$config[$key] = $config[$alias];
if (!isset($foo) && isset($config[$alias])) {
$foo = $config[$alias];
unset($config[$alias]);
} else {
$config[$key] = NULL;
}
}