-4

我有两个 php 文件。第一个是针对库的,另一个是针对函数的,问题是如果我在类之外声明变量,那么我会收到一个错误,说是未识别的变量。需要帮助提前谢谢。

库文件

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

    }
}

函数.php

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

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

问题是变量$db是未知的,我不想$lib = new test()为每个函数都输入。提前致谢。

4

3 回答 3

2

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

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

或将 $lib 作为参数传递

function whatever($lib, $bar) {
    $lib->foo($bar);
于 2013-08-13T10:23:46.900 回答
0

函数.php

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

function testFunction()
{
    global $lib;
    $lib->query($sql);
}
于 2013-08-13T10:25:07.637 回答
0

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

这应该谨慎使用,因为过度使用全局变量表示糟糕的程序设计。

于 2013-08-13T10:25:53.513 回答