我有两个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
关键字将变量标记为全局变量。
这应该谨慎使用,因为过度使用全局变量表明程序设计不好。