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();
}
}
<?php
namespace phorkie;
-class Database_Adapter_Elasticsearch_Indexer
+class Database_Adapter_Elasticsearch_Indexer implements Database_IIndexer
{
public function __construct()
{
<?php
namespace phorkie;
-class Database_Adapter_Elasticsearch_Search
+class Database_Adapter_Elasticsearch_Search implements Database_ISearch
{
public function __construct()
{
<?php
namespace phorkie;
-class Database_Adapter_Elasticsearch_Setup
+class Database_Adapter_Elasticsearch_Setup implements Database_ISetup
{
public function __construct()
{
--- /dev/null
+<?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);
+}
+
+?>
--- /dev/null
+<?php
+namespace phorkie;
+
+interface Database_ISearch
+{
+ public function search($term, $page = 0, $perPage = 10);
+}
+
+?>
--- /dev/null
+<?php
+namespace phorkie;
+
+interface Database_ISetup
+{
+ public function setup();
+}
+
+?>