3
我读这太问题:如何使用依赖注入和接口创建连接类?
PHP - multiple different databases dependency injected class
最佳解答。我理解在这里使用接口背后的概念,但我不知道如何使用它。这里是顶端回答说什么,对不起,如果我不应该在这里复制:
You should create an interface first for all the DB operations.
interface IDatabase
{
function connect();
function query();
...
}
Then have different driver classes implementing this interface
class MySQLDB implements IDatabase
{
}
class PGSQLDB implements IDatabase
{
}
This way you can easily use dependency injection.
class Test
{
private $db;
function __construct(IDatabase $db)
{
$this->db = $db;
}
}
You can call it as:
$mysqldb = new MySQLDB();
$test = new Test($mysqldb);
or
$pgsqldb = new PGSQLDB();
$test = new Test($pgsqldb);
我不明白的是如何完成它的类测试什么,我经过测试。我的连接信息在哪里?我希望有人能帮我完成这个为MySQL连接或可能是Pdo。
在你最后的声明中,我正在看你在说什么,我在想,为什么我不会这样做,忘记依赖注入。对于我来说没有什么意义,不要为每个单独的连接做你所做的事情。 – johnny
那么依赖注入是一种设计模式,我在谈论忘记所有这些类/接口,并且只是使用PDO,除非我误解了你的问题? – nickb
仅仅使用PDO是我理解你说的。如果我了解你,我会创建一个postgres类,mysql类等。 – johnny