1

我对课程还很陌生,我一直在网上寻找一些关于这方面的教程,但不幸的是我一直没有找到解决方案。你们能给我的任何帮助将不胜感激。

我有 2 个文件。

1)变量.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; 但它似乎也不是那样工作的。有什么建议么?

4

3 回答 3

2

$myvar在全局范围内定义。

如果确实需要访问它

function doSomething() { global $myvar; echo "myvar: $myvar"; }

但是,在其他范围内使用全局变量被认为是不好的做法。

有关更详细的说明,请参阅PHP 官方手册中的变量范围章节。

于 2011-02-06T17:10:51.583 回答
2
function doSomething() {
  global $myvar;
  echo "myvar: $myvar";  
}  
于 2011-02-06T17:12:41.413 回答
0

切勿global与课程一起使用!

如果您的类中需要一个变量,则将其注入方法或构造函数中:

class myClass {

function doSomething($myvar) { echo "myvar: $myvar"; }

}

$obj = new myClass;
$obj->doSomething($myvar);
于 2011-02-06T17:13:22.263 回答