0

我有一些可重用的代码,它们取决于某些数据库的存在。所以我需要确保在我的库中存在一个数据库。正确的方法是什么?

我正在考虑开设一门课程,如果他们不存在,可以设置表格。是否有任何众所周知的设计模式或方法可以使用?

PS:我正在使用 ZF 1。

编辑:正确地说,我的意图是我们,程序员,正确:优雅,这意味着:可重用,可配置,平台独立,依赖少,低耦合。

编辑:在第一次评论和回答之后,我将“模块”这个非常糟糕的选择改为“库”。

4

1 回答 1

2

我只想创建一个这样的类:

class My_SchemaChecker
{
    // db adapter
    protected $db;

    public __constructor($db)
    {
        $this->db = $db;
    }

    public function ensureSchemaExists()
    {
        if (!$this->doesSchemaExist()){
            $this->createSchema();
        }
    }

    protected function doesSchemaExist()
    {
        // check that tables, etc exist
    }

    protected function createSchema()
    {
        // issue queries to create desired schema
    }
}

用法是:

$checker = new My_SchemaChecker($db);
$checker->ensureSchemaExists();
于 2013-01-13T05:13:20.333 回答