PDO как аргумент конструктора - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть следующий класс:

class UserRepository {

    private $conn;

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

    //Methods omitted

}

Я использую следующее для создания объекта UserRepository:

$conn = new PDO("mysql:host=".DB_SERVER.";dbname=".DB_DATABASE, DB_USERNAME, DB_PASSWORD);
$userRepository = new UserRepository($conn);

Я получаю следующую ошибку в конструкторе UserRepository :

Recoverable fatal error: Object of class PDO could not be converted to string

Что я делаю не так?

1 Ответ

1 голос
/ 23 февраля 2020

Ваш конструктор использует переменную в качестве динамического c имя-атрибута. Поэтому он пытается преобразовать его в строку. $this->{$conn} = $conn против $this->conn = $conn.

    public function __construct($conn) {
        $this->conn = $conn;
    }
...