2016-10-29 27 views
0

我想在Slim 3容器中添加一个属性,但是当我转储它时显示“注意:Undefined属性:Slim \ App :: $ user”。我知道在Slim 2中它是:如何在Slim 3中设置属性

$app->container->set('user',function(){ 
    return new User; 
}); 

var_dump($app->user); 

然后这会显示我在用户模型容器中的所有属性。不过我试图在Slim 3中实现这一点。

我环顾了文档,发现了一个add函数,但它返回一个未定义的属性。

这是我试过的代码:我知道User类是存在的,因为我已经测试了

$app->add('user',function(){ 
    return new User; 
}); 
var_dump($app->user); 

。我被困在这一点,我不知道什么方法是将属性添加到我的容器。

回答

1

它不会自动将其添加为属性,当你注册它的DI容器上,你可以添加它作为一个属性:

$app->user = new User; 

或用DI

$app->user = $app->container->get('user');