2016-10-29 128 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');