PHP OOP访问全局变量


PHP OOP accessing global variable

我有两个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()。提前谢谢。

使用从每个函数内部访问变量

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

或将$lib作为参数传递

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

Function.php

include_once('lib.php');
$lib = new test();
function testFunction()
{
    global $lib;
    $lib->query($sql);
}

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

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

相关文章: