PDO作为构造函数参数

问题描述 投票:0回答:1

我有以下课程:

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

我在做什么错?

php php-7
1个回答
0
投票

您的构造函数将变量用作动态属性名称。因此,它尝试将其转换为字符串。 $this->{$conn} = $conn$this->conn = $conn

    public function __construct($conn) {
        $this->conn = $conn;
    }
© www.soinside.com 2019 - 2024. All rights reserved.