我仍然可以在 laravel 视图中的函数内使用 global $var 吗?

我是 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());

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


我知道我可以只$my_global_var作为参数传递,但正如我之前提到的,我试图将现有项目移至 Laravel。并且该项目充满了像 TestClass 这样的辅助类,它们在开始时(或自动加载)包含在内,然后在整个程序中使用。


我的问题是:我是否必须重写我所有的助手类,或者有没有办法让我保持这global $my_global_var;条线?


慕尼黑的夜晚无繁华
浏览 160回答 2
2回答

炎炎设计

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());

慕丝7291255

在您的示例中,您可以$my_global_var使用$GLOBALS[]访问您的函数中的。更多信息在这里。例子:$my_global_var = 'Hello';class TestClass {    public static function foo(){        return $GLOBALS['my_global_var'];    }}dd(TestClass::foo());
打开App,查看更多内容
随时随地看视频慕课网APP