From 7bc8bce9fa2e7b05c1e0db61128bf82300356811 Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Wed, 7 Mar 2012 16:52:51 -0500 Subject: [PATCH] More file rearrangement, some scaffolding for query_builder class --- index.php | 3 +- sys/{common => db}/db_pdo.php | 3 + .../drivers}/firebird-ibase.php | 3 - .../drivers}/firebird_sql.php | 0 sys/{databases => db/drivers}/mysql.php | 0 sys/{databases => db/drivers}/mysql_sql.php | 0 sys/{databases => db/drivers}/odbc.php | 0 sys/{databases => db/drivers}/odbc_sql.php | 0 sys/{databases => db/drivers}/pgsql.php | 0 sys/{databases => db/drivers}/pgsql_sql.php | 0 sys/{databases => db/drivers}/sqlite.php | 0 sys/{databases => db/drivers}/sqlite_sql.php | 0 sys/{common => db}/query_builder.php | 61 ++++++++++++++++++ tests/index.php | 6 +- tests/test_dbs/FB_TEST_DB.FDB | Bin 802816 -> 802816 bytes 15 files changed, 69 insertions(+), 7 deletions(-) rename sys/{common => db}/db_pdo.php (99%) rename sys/{databases => db/drivers}/firebird-ibase.php (99%) rename sys/{databases => db/drivers}/firebird_sql.php (100%) rename sys/{databases => db/drivers}/mysql.php (100%) rename sys/{databases => db/drivers}/mysql_sql.php (100%) rename sys/{databases => db/drivers}/odbc.php (100%) rename sys/{databases => db/drivers}/odbc_sql.php (100%) rename sys/{databases => db/drivers}/pgsql.php (100%) rename sys/{databases => db/drivers}/pgsql_sql.php (100%) rename sys/{databases => db/drivers}/sqlite.php (100%) rename sys/{databases => db/drivers}/sqlite_sql.php (100%) rename sys/{common => db}/query_builder.php (68%) diff --git a/index.php b/index.php index 1cfc5a8..edc1fe6 100644 --- a/index.php +++ b/index.php @@ -79,6 +79,7 @@ function do_include($path) // Load everything so that we don't have to do requires later { array_map('do_include', glob(BASE_DIR . "/common/*.php")); + array_map('do_include', glob(BASE_DIR . "/db/*.php")); array_map('do_include', glob(BASE_DIR . "/windows/widgets/*.php")); array_map('do_include', glob(BASE_DIR . "/windows/*.php")); } @@ -86,7 +87,7 @@ function do_include($path) // -------------------------------------------------------------------------- // Load db classes based on capability -$path = BASE_DIR . "/databases/"; +$path = BASE_DIR . "/db/drivers/"; foreach(pdo_drivers() as $d) { diff --git a/sys/common/db_pdo.php b/sys/db/db_pdo.php similarity index 99% rename from sys/common/db_pdo.php rename to sys/db/db_pdo.php index 011b7b3..dcd0e11 100644 --- a/sys/common/db_pdo.php +++ b/sys/db/db_pdo.php @@ -22,6 +22,9 @@ abstract class DB_PDO extends PDO { public $manip; protected $statement; + /** + * PDO constructor wrapper + */ public function __construct($dsn, $username=NULL, $password=NULL, $driver_options=array()) { parent::__construct($dsn, $username, $password, $driver_options); diff --git a/sys/databases/firebird-ibase.php b/sys/db/drivers/firebird-ibase.php similarity index 99% rename from sys/databases/firebird-ibase.php rename to sys/db/drivers/firebird-ibase.php index cbd5135..eec03b6 100644 --- a/sys/databases/firebird-ibase.php +++ b/sys/db/drivers/firebird-ibase.php @@ -95,11 +95,9 @@ class firebird extends DB_PDO { } // Throw the error as a exception - // if there is one if ($this->statement === FALSE) { throw new PDOException(ibase_errmsg()); - die(); } return $this->statement; @@ -169,7 +167,6 @@ class firebird extends DB_PDO { if ($this->statement === FALSE) { throw new PDOException(ibase_errmsg()); - die(); } return $this->statement; diff --git a/sys/databases/firebird_sql.php b/sys/db/drivers/firebird_sql.php similarity index 100% rename from sys/databases/firebird_sql.php rename to sys/db/drivers/firebird_sql.php diff --git a/sys/databases/mysql.php b/sys/db/drivers/mysql.php similarity index 100% rename from sys/databases/mysql.php rename to sys/db/drivers/mysql.php diff --git a/sys/databases/mysql_sql.php b/sys/db/drivers/mysql_sql.php similarity index 100% rename from sys/databases/mysql_sql.php rename to sys/db/drivers/mysql_sql.php diff --git a/sys/databases/odbc.php b/sys/db/drivers/odbc.php similarity index 100% rename from sys/databases/odbc.php rename to sys/db/drivers/odbc.php diff --git a/sys/databases/odbc_sql.php b/sys/db/drivers/odbc_sql.php similarity index 100% rename from sys/databases/odbc_sql.php rename to sys/db/drivers/odbc_sql.php diff --git a/sys/databases/pgsql.php b/sys/db/drivers/pgsql.php similarity index 100% rename from sys/databases/pgsql.php rename to sys/db/drivers/pgsql.php diff --git a/sys/databases/pgsql_sql.php b/sys/db/drivers/pgsql_sql.php similarity index 100% rename from sys/databases/pgsql_sql.php rename to sys/db/drivers/pgsql_sql.php diff --git a/sys/databases/sqlite.php b/sys/db/drivers/sqlite.php similarity index 100% rename from sys/databases/sqlite.php rename to sys/db/drivers/sqlite.php diff --git a/sys/databases/sqlite_sql.php b/sys/db/drivers/sqlite_sql.php similarity index 100% rename from sys/databases/sqlite_sql.php rename to sys/db/drivers/sqlite_sql.php diff --git a/sys/common/query_builder.php b/sys/db/query_builder.php similarity index 68% rename from sys/common/query_builder.php rename to sys/db/query_builder.php index be95e2b..fe0f8b9 100644 --- a/sys/common/query_builder.php +++ b/sys/db/query_builder.php @@ -127,4 +127,65 @@ class Query_Builder { return $this->query('SELECT * FROM ' . $this->quote_ident($table)); } } + + // -------------------------------------------------------------------------- + + /** + * Specifies rows to select in a query + * + * @param string $fields + * @return $this + */ + public function select($fields) + { + // @todo Implement select method + return $this; + } + + // -------------------------------------------------------------------------- + + /** + * Specify condition(s) in the where clause of a query + * Note: this function works with key / value, or a + * passed array with key / value pairs + * + * @param mixed $key + * @param mixed $val + * @return $this + */ + public function where($key, $val=array()) + { + // @todo Implement where method + return $this; + } + + // -------------------------------------------------------------------------- + + /** + * Creates a join phrase in a compiled query + * + * @param string $table + * @param string $condition + * @param string $type + * @return $this + */ + public function join($table, $condition, $type='inner') + { + // @todo Implement join method + return $this; + } + + // -------------------------------------------------------------------------- + + /** + * Specify the database table to select from + * + * @param string $dbname + * @return $this + */ + public function from($dbname) + { + // @todo Implement from method + return $this; + } } \ No newline at end of file diff --git a/tests/index.php b/tests/index.php index 40f3e6d..f8846c4 100644 --- a/tests/index.php +++ b/tests/index.php @@ -32,13 +32,13 @@ function do_include($path) // Include core tests require_once("core.php"); -require_once("../sys/common/db_pdo.php"); -require_once("../sys/common/query_builder.php"); +require_once("../sys/db/db_pdo.php"); +require_once("../sys/db/query_builder.php"); // Include db tests // Load db classes based on capability -$src_path = "../sys/databases/"; +$src_path = "../sys/db/drivers/"; $test_path = "./databases/"; foreach(pdo_drivers() as $d) diff --git a/tests/test_dbs/FB_TEST_DB.FDB b/tests/test_dbs/FB_TEST_DB.FDB index b79c42855f9e0e8975a5798cc7224da37841d604..90a4ba46518b7a3cbccb76aef50a5d137b7ac8d6 100755 GIT binary patch delta 4061 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