Jak utworzyć klasę połączenia z wtryskiem zależności i interfejsami?

Czytałem to pytanie SO:

PHP - wiele różnych zależności zależnych od baz danych

Najlepsza odpowiedź. Rozumiem koncepcję korzystania z interfejsu tutaj, ale nie wiem, jak go używać. Oto, co powiedziała górna odpowiedź: przepraszam, jeśli nie mam jej tutaj kopiować:

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);

Nie rozumiem, jak ukończyć test w klasie i co przechodzę do testu. Gdzie są moje informacje o połączeniu? Miałem nadzieję, że ktoś pomoże mi ukończyć to dla połączenia mysql, a może pdo.

questionAnswers(1)

yourAnswerToTheQuestion