我在 PHP 类的构造函数中包含 MySQLi 连接文件。由于我需要在此类中的方法中访问连接变量,因此我需要将变量设为全局变量。我总是听说全局变量不好。所以我想知道,这是处理这个问题的唯一/最好的方法吗?
class CheckUser {
function __construct() {
require_once('mysqli.php');
}
function checkEmail($email) {
// sql code here
}
}
我在 PHP 类的构造函数中包含 MySQLi 连接文件。由于我需要在此类中的方法中访问连接变量,因此我需要将变量设为全局变量。我总是听说全局变量不好。所以我想知道,这是处理这个问题的唯一/最好的方法吗?
class CheckUser {
function __construct() {
require_once('mysqli.php');
}
function checkEmail($email) {
// sql code here
}
}
那只是一个模因。(并且依赖注入即将到来......)
您的连接句柄是一个中心资源。就这样使用它。全局变量非常好,并且是预期的语言结构。只要您只有一个数据库/连接,它就有意义。
如果全局变量不好,我们就不会有$_GET
and $_POST
(它们是实际的全局变量)。
如果您的班级(在这里猜测)是数据库查询的中央访问点,那么将句柄作为简单属性同样令人愉快。
function __construct() {
require_once('mysqli.php');
$this->db = $db;
}
或者mysqli.php
脚本创建的任何局部变量。