Move SQL and Util classes to their own namespaces

This commit is contained in:
Timothy Warren 2014-04-24 15:32:09 -04:00
parent 5478de08a0
commit 17354ee87e
13 changed files with 36 additions and 28 deletions

View File

@ -85,13 +85,28 @@ abstract class Abstract_Driver extends \PDO implements Driver_Interface {
$driver_options[\PDO::ATTR_ERRMODE] = \PDO::ERRMODE_EXCEPTION; $driver_options[\PDO::ATTR_ERRMODE] = \PDO::ERRMODE_EXCEPTION;
parent::__construct($dsn, $username, $password, $driver_options); parent::__construct($dsn, $username, $password, $driver_options);
// Load the sql and util class for the driver $this->_load_sub_classes();
foreach(array('sql', 'util') as $sub) }
{
$class = get_class($this) . "_{$sub}";
$this->$sub = new $class($this);
}
// --------------------------------------------------------------------------
/**
* Loads the subclasses for the driver
*
* @return void
*/
protected function _load_sub_classes()
{
// Load the sql and util class for the driver
$this_class = get_class($this);
$ns_array = explode("\\", $this_class);
$base_class = array_pop($ns_array);
$ns = implode('\\', $ns_array);
$sql_class = "{$ns}\\SQL\\{$base_class}_SQL";
$util_class = "{$ns}\\Util\\{$base_class}_Util";
$this->sql = new $sql_class();
$this->util = new $util_class($this);
$this->table = new Table_Builder('', array(), $this); $this->table = new Table_Builder('', array(), $this);
} }

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\SQL;
/** /**
* parent for database manipulation subclasses * parent for database manipulation subclasses

View File

@ -13,7 +13,10 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\Util;
use Query\Driver\Driver_Interface;
// --------------------------------------------------------------------------
/** /**
* Abstract class defining database / table creation methods * Abstract class defining database / table creation methods

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\SQL;
/** /**
* parent for database manipulation subclasses * parent for database manipulation subclasses

View File

@ -92,17 +92,7 @@ class Firebird extends Abstract_Driver {
// driver does not call the constructor // driver does not call the constructor
// of DB_PDO, which defines these // of DB_PDO, which defines these
// class variables for the other drivers // class variables for the other drivers
$this->_load_sub_classes();
// Load the sql class
$class = __CLASS__."_sql";
$this->sql = new $class();
// Load the util class
$class = __CLASS__."_util";
$this->util = new $class($this);
// Load the table builder class
$this->table = new Table_Builder('', array(), $this);
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\SQL;
/** /**
* Firebird Specific SQL * Firebird Specific SQL

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\Util;
/** /**
* Firebird-specific backup, import and creation methods * Firebird-specific backup, import and creation methods

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\SQL;
/** /**
* MySQL specifc SQL * MySQL specifc SQL

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\Util;
/** /**
* MySQL-specific backup, import and creation methods * MySQL-specific backup, import and creation methods

View File

@ -12,7 +12,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\SQL;
/** /**
* PostgreSQL specifc SQL * PostgreSQL specifc SQL

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\Util;
/** /**
* Posgres-specific backup, import and creation methods * Posgres-specific backup, import and creation methods

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\SQL;
/** /**
* SQLite Specific SQL * SQLite Specific SQL

View File

@ -13,7 +13,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
namespace Query\Driver; namespace Query\Driver\Util;
/** /**
* SQLite-specific backup, import and creation methods * SQLite-specific backup, import and creation methods