如何在 Slim 3 中设置 属性
how to set a property in Slim 3
我试图在 Slim 3 容器中添加一个 属性,但是当我使用 var dump 时它显示 "Notice: Undefined property: Slim\App::$user"。我知道在 Slim 2 中是:
$app->container->set('user',function(){
return new User;
});
var_dump($app->user);
这将显示用户模型容器中的所有 属性。但是我正试图在 Slim 3 中实现这一点。
我查看了文档并找到了一个添加函数,但它 returns 是一个未定义的 属性。
这是我试过的代码:
$app->add('user',function(){
return new User;
});
var_dump($app->user);
我知道用户 class 确实存在,因为我已经测试过了。我被困在这一点上,我不确定将 属性 添加到我的容器的方法是什么。
当您在 DI 容器上注册它时,它不会自动将其添加为 属性,您只需将其添加为 属性 即可:
$app->user = new User;
或者用 DI
$app->user = $app->container->get('user');
我试图在 Slim 3 容器中添加一个 属性,但是当我使用 var dump 时它显示 "Notice: Undefined property: Slim\App::$user"。我知道在 Slim 2 中是:
$app->container->set('user',function(){
return new User;
});
var_dump($app->user);
这将显示用户模型容器中的所有 属性。但是我正试图在 Slim 3 中实现这一点。
我查看了文档并找到了一个添加函数,但它 returns 是一个未定义的 属性。
这是我试过的代码:
$app->add('user',function(){
return new User;
});
var_dump($app->user);
我知道用户 class 确实存在,因为我已经测试过了。我被困在这一点上,我不确定将 属性 添加到我的容器的方法是什么。
当您在 DI 容器上注册它时,它不会自动将其添加为 属性,您只需将其添加为 属性 即可:
$app->user = new User;
或者用 DI
$app->user = $app->container->get('user');