我是一个相当新的课程,我一直在网上寻找某种类型的教程,但不幸的是我找不到解决方案。你们可以给我的任何帮助都会非常感激。
我有2个文件。
1)variables.inc.php:
$myvar = "hello world";
2)myclass.php:
include("variables.inc.php");
class myClass {
function doSomething() {
echo "myvar: $myvar";
}
}
问题:
$myvar
返回空。我尝试在function doSomething() {
和echo...:
global $myvar;
之间添加此行
但它似乎也没那么奏效。有什么建议吗?
答案 0 :(得分:2)
$myvar
在全球范围内定义。
如果真的需要访问,那么
function doSomething() { global $myvar; echo "myvar: $myvar"; }
然而,在其他范围内使用全局变量被认为是不好的做法。
有关更详细的说明,请参阅官方PHP手册中的 Variable scope 一章。
答案 1 :(得分:2)
function doSomething() {
global $myvar;
echo "myvar: $myvar";
}
答案 2 :(得分:0)
永远不要在课程中使用global
!
如果您需要在类中使用变量,请将其注入方法或构造函数中:
class myClass {
function doSomething($myvar) { echo "myvar: $myvar"; }
}
$obj = new myClass;
$obj->doSomething($myvar);