我是SlimPHP框架的新手。我一直在尝试在路由组中获取一个容器,这是出现的错误:
PHP警告:缺少Slim \ App :: get()
的参数2
这是我的路线代码:
$app->group('/api', function() use ($app) {
$jwtMiddleware = $app->get('jwt');
$this->post('/auth/signup', 'RegisterController:signup');
$this->post('/auth/login', 'LoginController:login');
//User routess
$this->get('/user', 'UserController:getUser')->add($jwtMiddleware);
//$this->put('/user');
});
和我的容器的代码:
// Jwt Middleware
$container['jwt'] = function ($container) {
$jws_settings = $container->get('settings')['jwt'];
return new \Slim\Middleware\JwtAuthentication($jws_settings);
};
请大家,这可能是什么问题?
答案 0 :(得分:1)
您可以像这样获取容器:
$app->group('/api', function(\Slim\App $app) {
/* @var \Slim\App $this */
$jwtMiddleware = $this->getContainer()->get('jwt');
// ...
});
在group
回调$app
和$this
已经是您的Slim\App
对象。您不需要use ($app)
。