PHP OOP访问全局变量

时间:2013-08-13 10:18:26

标签: php

我有两个php文件。第一个用于库,另一个用于函数问题是如果我在类外声明变量然后我得到一个错误说明未识别的变量。需要帮助提前感谢。

lib.php

class test{
    public function __construct()
    {
        $this->_link = mysql_connect('localhost','root','');
        mysql_select_db('test_db', $this->_link);
    }
    public function query($sql)
    {

    }
}

Function.php

include_once('lib.php');
$lib = new test();

function testFunction(){
    $lib->query($sql);
}

问题是变量$db未识别,我不想为每个函数键入$lib = new test()。提前谢谢。

3 个答案:

答案 0 :(得分:2)

使用

从每个函数内部访问变量
function whatever($bar) {
    global $lib;
    $lib->foo($bar);

或传递$ lib作为参数

function whatever($lib, $bar) {
    $lib->foo($bar);

答案 1 :(得分:0)

Function.php

include_once('lib.php');
$lib = new test();

function testFunction()
{
    global $lib;
    $lib->query($sql);
}

答案 2 :(得分:0)

您需要使用global关键字将变量标记为全局变量。

这应该谨慎使用,因为过量使用全局变量表示程序设计不好。