你能帮我吗?我面临一个奇怪的问题。 首先,我使用作曲家下载此https://github.com/tuupola/slim-jwt-auth:
composer require tuupola/slim-jwt-auth
之后,我创建了一个名为teste.php的php文件:
require 'vendor/autoload.php';
$app = new Slim\App;
$app->add(new \Slim\Middleware\JwtAuthentication([
"secret" => "teste",
"callback" => function ($options) use ($app) {
$app->jwt = $options["decoded"];
}
]));
$app->get("/user", function () {
print_r($app->jwt);
});
$app->run();
现在,我收到此错误:
PHP message: PHP Fatal error: Uncaught Error: Class 'Slim\App' not found
这没有道理,因为我正确使用了作曲家
我该如何解决?我花了很多时间独自尝试解决此问题,但失败了。谢谢!
答案 0 :(得分:0)
首先,您实际上需要将Slim框架添加到Composer软件包中。您可以通过运行以下命令来做到这一点:
composer require slim/slim
关于其他问题,您用于中间件的构造函数不正确。应该是:new Tuupola\Middleware\JwtAuthentication
。
您的完整代码应如下:
require 'vendor/autoload.php';
$app = new Slim\App;
$app->add(new Tuupola\Middleware\JwtAuthentication([
"secret" => "teste",
"callback" => function ($options) use ($app) {
$app->jwt = $options["decoded"];
}
]));
$app->get("/user", function () {
print_r($app->jwt);
});
$app->run();