2

可能被问了很多次,但我很顽固。

我有以下课程来管理 MySQL 数据库。

class blog {        
    function show ($mysqli) {
    // Code working on $mysqli here
    }
}

因为我将在这个类的许多函数中使用 $mysqli,所以我读到我可以创建构造函数,以便将 $mysqli 变量传递给类并在每个函数中使用它,这样我就可以执行以下操作:

$blog = new blog($mysqli);
$blog -> show();

这可能吗?

4

2 回答 2

4

这称为依赖注入

只需$mysqli在您的类中使用一个字段并在您的构造函数中初始化它并通过以下方式使用它$this->mysqli

class blog {  
    private $mysqli;

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

    function show () {
        // Code working on $this->mysqli here
    }
}
于 2013-02-10T23:16:08.157 回答
1

要将其存储在类中,将类似于:

class blog {
    private $mysqli;
    function __construct($dbi) {
        $this->mysqli = $dbi;
    }        
    function show () {
    $this->mysqli->query(); //example usage
    // Code working on $mysqli here
    }
}

然后在您的代码中使用该类:

$blog = new blog($mysqli);
$blog->show();
于 2013-02-10T23:16:17.313 回答