私はこのSOの質問を読んでいました:
PHP - 複数の異なるデータベースの依存関係が注入されたクラス
トップの答え。ここでインターフェイスを使用する背後にある概念は理解していますが、その使用方法がわかりません。一番上の回答は次のとおりです。ここにコピーすることになっていない場合は申し訳ありません。
すべての DB 操作に対して、最初にインターフェースを作成する必要があります。
interface IDatabase
{
function connect();
function query();
...
}
次に、このインターフェイスを実装するさまざまなドライバー クラスを用意します。
class MySQLDB implements IDatabase
{
}
class PGSQLDB implements IDatabase
{
}
このようにして、依存性注入を簡単に使用できます。
class Test
{
private $db;
function __construct(IDatabase $db)
{
$this->db = $db;
}
}
次のように呼び出すことができます。
$mysqldb = new MySQLDB();
$test = new Test($mysqldb);
or
$pgsqldb = new PGSQLDB();
$test = new Test($pgsqldb);
私が理解していないのは、クラスのテストでそれを完了する方法と、テストに合格しているものです。接続情報はどこに行くのですか? 私は誰かがmysql接続またはおそらくpdoのためにこれを完了するのを手伝ってくれることを望んでいました.