我还能在laravel视图中的函数内使用全局$ var吗?

时间:2019-09-04 06:33:10

标签: php laravel

我是Laravel的初学者,我正在尝试将现有项目(以本地php格式)移至laravel框架。

到目前为止,除了我试图从助手类中执行静态函数的那一部分之外,其他所有东西都工作正常。

我有一个名为old.php的视图,如下所示:

$my_global_var = 'Hello';

class TestClass {
    public static function foo(){
        global $my_global_var;
        return $my_global_var;
    }
}

dd(TestClass::foo());

该函数将返回null,而不是像以前那样返回“ Hello”。

我知道我可以只传递$my_global_var作为参数,但是正如我之前提到的,我正在尝试将现有项目移至laravel。该项目充满了诸如TestClass之类的帮助程序类,这些帮助程序类始于(或自动加载),然后在整个程序中使用。

我的问题是:我是否必须重写所有助手类,还是有办法保持global $my_global_var;行?

2 个答案:

答案 0 :(得分:0)

global $my_global_var; // Here is your answer
$my_global_var = 'Hello';

class TestClass {
    public static function foo(){
        global $my_global_var;
        return $my_global_var;
    }
}

dd(TestClass::foo());

答案 1 :(得分:0)

在您的示例中,您可以使用$GLOBALS[]访问函数中的$my_global_var。更多信息here

示例:

$my_global_var = 'Hello';

class TestClass {
    public static function foo(){
        return $GLOBALS['my_global_var'];
    }
}

dd(TestClass::foo());