我正在编写一个模板,它将具有一系列功能,其中一些将访问访问一系列类的相同包含文件。我的想法就像是
<?php
require_once("myfile.php");
$db = new classthing();
function1(){
return $db->afunction;
}
function2() {
return $db->anotherfunction;
}
它似乎不想工作!
答案 0 :(得分:0)
在PHP中,函数在自己的范围内行事。 在你的情况下,你可以用几种方式:
a)将$ db实例作为函数参数传递:
require_once("myfile.php");
$db = new Classthing();
function1(Classthing $db){
return $db->afunction;
}
$a = function1($db); // invocation
b)使用global
关键字从全局范围访问变量:
require_once("myfile.php");
$db = new Classthing();
function1(){
global $db;
return $db->afunction;
}
$a = function1(); // invocation
答案 1 :(得分:0)
$ db是一个全局变量。如果要在PHP中的函数内访问全局变量,则需要使用“global”声明它。另外,我不确定你想要实现什么,但是如果你想使用你的函数返回一个方法,你应该使用一个引用。
以下是它应该如何运作:
function &function1(){
global $db;
return $db->afunction;
}