类连接器中PDO的实例

时间:2017-04-18 21:39:51

标签: php mysql pdo

我今天正在做一个项目,而且我已经工作了一段时间,而且我不知道我在这里做错了什么。有人可以给我一个正确的例子。

Thnx很多!

连接器:

class Repository
{
private $connector;

public function __construct(Config $connector)
{
    $this->connector = $connector;
}

public function events()
{
    $query = 'SELECT * FROM digi_gz_parties';
    $dbh_query = $this->connector->getDatabase()->prepare($query);
    $dbh_query->execute();
    $dbh_querys = $dbh_query->fetchAll();

    return $dbh_querys;
}
}

吸气剂:

class REST
{
public function getEvents()
{
    require 'logic/Repository.php';

    $event = new Repository();
    $events = $event->events();

    return $events;
}
}

错误: 传递给Repository :: __ construct()的参数1必须是Config的实例。

我知道我需要给存储库提供一个参数,但我不想要它,我只想调用存储库而不给出一些参数。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以将Repository::__construct()更改为默认$connectornull

public function __construct(Config $connector = null)
{
    $this->connector = $connector;
}

这样,如果您在没有任何参数的情况下实例化对象,就像在此处一样,它将默认为null。唯一的缺点是,现在,在$this->connector类中使用Repository并且记住它可能为空时,你必须格外小心。

例如,在这里,events()方法的第二行不起作用,因为您缺少连接数据库的正确配置。