2016-10-29 4 views
0

Ich versuche, eine Eigenschaft in Slim 3-Container hinzuzufügen, aber wenn ich var dump zeigt es mir "Hinweis: Nicht definierte Eigenschaft: Slim \ App :: $ user". Ich weiß in Slim 2 ist es:So legen Sie eine Eigenschaft in Slim 3 fest

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

var_dump($app->user); 

Dies wird dann zeigen mir alle Eigenschaften im Benutzermodell Container. Ich versuche jedoch, dies in Slim 3 zu erreichen.

Ich sah sich um die Dokumente und fand eine Add-Funktion, aber es gibt eine undefinierte Eigenschaft zurück.

Dies ist der Code, den ich versucht:

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

ich die Klasse User wissen nicht gibt, weil ich das getestet haben. Ich bin an diesem Punkt fest und ich bin nicht sicher, was die Methode ist, eine Eigenschaft meinem Container hinzuzufügen.

Antwort

1

Sein nicht automatisch fügen Sie es als Eigenschaft, wenn Sie es auf dem DI-Container registrieren, können Sie fügen Sie ihn einfach als Eigenschaft mit:

$app->user = new User; 

Oder mit DI

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