我是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;
行?
答案 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());