diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-05-07 21:10:51 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-05-07 21:10:51 +0200 |
| commit | 58919afe451ad5b2088d61ff1c856f44dd522b32 (patch) | |
| tree | b5963cc7d1fdf2704de345b9333c207c3dd0a5bf | |
| parent | 7c5ea8dded583601f29c7ea9bcb507ecbdd854d6 (diff) | |
| download | phorkie-58919afe451ad5b2088d61ff1c856f44dd522b32.tar.gz phorkie-58919afe451ad5b2088d61ff1c856f44dd522b32.zip | |
add interfaces for database adapter
| -rw-r--r-- | src/phorkie/Database.php | 17 | ||||
| -rw-r--r-- | src/phorkie/Database/Adapter/Elasticsearch/Indexer.php | 2 | ||||
| -rw-r--r-- | src/phorkie/Database/Adapter/Elasticsearch/Search.php | 2 | ||||
| -rw-r--r-- | src/phorkie/Database/Adapter/Elasticsearch/Setup.php | 2 | ||||
| -rw-r--r-- | src/phorkie/Database/IIndexer.php | 12 | ||||
| -rw-r--r-- | src/phorkie/Database/ISearch.php | 9 | ||||
| -rw-r--r-- | src/phorkie/Database/ISetup.php | 9 |
7 files changed, 47 insertions, 6 deletions
diff --git a/src/phorkie/Database.php b/src/phorkie/Database.php index 9854e7c..786cfe0 100644 --- a/src/phorkie/Database.php +++ b/src/phorkie/Database.php @@ -3,19 +3,30 @@ namespace phorkie; class Database { + public $prefix = '\phorkie\Database_Adapter_Null'; + + public function __construct() + { + if ($GLOBALS['phorkie']['cfg']['elasticsearch'] != '') { + $this->prefix = '\phorkie\Database_Adapter_Elasticsearch'; + } + } public function getSearch() { - return new Database_Adapter_Elasticsearch_Search(); + $class = $this->prefix . '_Search'; + return new $class(); } public function getIndexer() { - return new Database_Adapter_Elasticsearch_Indexer(); + $class = $this->prefix . '_Indexer'; + return new $class(); } public function getSetup() { - return new Database_Adapter_Elasticsearch_Setup(); + $class = $this->prefix . '_Setup'; + return new $class(); } } diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php b/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php index d9d1032..41aa7d7 100644 --- a/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php +++ b/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php @@ -1,7 +1,7 @@ <?php namespace phorkie; -class Database_Adapter_Elasticsearch_Indexer +class Database_Adapter_Elasticsearch_Indexer implements Database_IIndexer { public function __construct() { diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Search.php b/src/phorkie/Database/Adapter/Elasticsearch/Search.php index 88ad4ac..d077747 100644 --- a/src/phorkie/Database/Adapter/Elasticsearch/Search.php +++ b/src/phorkie/Database/Adapter/Elasticsearch/Search.php @@ -1,7 +1,7 @@ <?php namespace phorkie; -class Database_Adapter_Elasticsearch_Search +class Database_Adapter_Elasticsearch_Search implements Database_ISearch { public function __construct() { diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Setup.php b/src/phorkie/Database/Adapter/Elasticsearch/Setup.php index acbe77c..066a21c 100644 --- a/src/phorkie/Database/Adapter/Elasticsearch/Setup.php +++ b/src/phorkie/Database/Adapter/Elasticsearch/Setup.php @@ -1,7 +1,7 @@ <?php namespace phorkie; -class Database_Adapter_Elasticsearch_Setup +class Database_Adapter_Elasticsearch_Setup implements Database_ISetup { public function __construct() { diff --git a/src/phorkie/Database/IIndexer.php b/src/phorkie/Database/IIndexer.php new file mode 100644 index 0000000..61b8a87 --- /dev/null +++ b/src/phorkie/Database/IIndexer.php @@ -0,0 +1,12 @@ +<?php +namespace phorkie; + +interface Database_IIndexer +{ + public function addRepo(Repository $repo, $crdate = null); + public function updateRepo(Repository $repo, $crdate = null); + public function deleteAllRepos(); + public function deleteRepo(Repository $repo); +} + +?> diff --git a/src/phorkie/Database/ISearch.php b/src/phorkie/Database/ISearch.php new file mode 100644 index 0000000..b18d43a --- /dev/null +++ b/src/phorkie/Database/ISearch.php @@ -0,0 +1,9 @@ +<?php +namespace phorkie; + +interface Database_ISearch +{ + public function search($term, $page = 0, $perPage = 10); +} + +?> diff --git a/src/phorkie/Database/ISetup.php b/src/phorkie/Database/ISetup.php new file mode 100644 index 0000000..1ac6b2f --- /dev/null +++ b/src/phorkie/Database/ISetup.php @@ -0,0 +1,9 @@ +<?php +namespace phorkie; + +interface Database_ISetup +{ + public function setup(); +} + +?> |
