【发布时间】:2014-10-03 01:05:31
【问题描述】:
在yoyo.php:
class Yoyo {
public $data;
}
在global.php:
App::singleton('yoyo', function()
{
return new Yoyo;
});
在filters.php:
$a= App::make('yoyo');
$a->data = 'yep';
在控制器中:
public function doSomething() {
dd(App::make('yoyo'));
}
在filters.php 中,我可以访问data 属性,它具有预期值。
在控制器中,dd 助手显示data 属性为null。
在调用控制器方法之前执行过滤器。
为什么是$datanull?
【问题讨论】:
-
我确定如果我在类中初始化 $data,则显示该值而不是 null。所以我得到了这个类的一个新实例。类必须写成单例还是 laravel 会为我处理?
-
好吧,完全是我的错误。有一个重定向,所以控制器实际上是在处理一个新的请求,一个没有初始化 yoyo。
标签: php laravel ioc-container