在PHP对象中包含全局变量

时间:2013-10-10 18:09:36

标签: php class scope

希望这是一个直截了当的问题:

我正在寻找创建一个类,我想在其中包含我的数据库变量($ mysql),以便我可以进行数据库交互。到目前为止,我一直在函数内部进行全局化,但是我希望在每个类函数中将变量全局包含在内,有一些方法可以简单地将它包含在类中/在类中访问它。我对范围不太了解。

我能想到的唯一选择是创建一个类变量,并在构造函数中包含全局变量并将它(可能通过引用,这有意义吗?)分配给类变量。

还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

我将这个类编程为我的数据库处理,也许对你有点用处:

<?php
    class Database {
        public $mysqli;

        function __construct() {
            $this->connect();
        }

        function __wakeup() {
            $this->connect();
        }

        function connect() {
            $mysqli = new mysqli(MYSQL_SERVER, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB);
            if ($mysqli->connect_error) {
                die('Connect Error (' . $mysqli->conect_errno . ')'
                    . $mysqli->connect_error);
            }
            mysqli_set_charset($mysqli, 'utf8');
            $this->mysqli = $mysqli;
        }   

        function queryDB($query) {
            $result = $this->mysqli->query($query);

            if ($this->mysqli->error) {
                error_log("QUERY ERROR: " .$this->mysqli->error);
                error_log("QUERY: " . $query);
            }
            return $result;
        }
    }
?>