Slim框架无法使用Composer正常工作(找不到类)

时间:2019-06-13 07:55:17

标签: php composer-php slim

你能帮我吗?我面临一个奇怪的问题。 首先,我使用作曲家下载此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

这没有道理,因为我正确使用了作曲家

我该如何解决?我花了很多时间独自尝试解决此问题,但失败了。谢谢!

1 个答案:

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