访问SlimPHP

时间:2018-02-20 22:02:14

标签: slim slim-3

我是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);
};
请大家,这可能是什么问题?

1 个答案:

答案 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)