あなたのルート定義はUsing $this when not in object context
エラーをスローします。 $this
にアクセスするには、代わりにクロージャーを使用する必要があります。ドキュメントのclosure bindingを参照してください。
$app->get("/user", function ($request, $response, $arguments) {
$decode = $this->jwt;
print_r($decode);
});
またはあなたが$this
経由で復号化されたトークンにアクセスすることができ、上記のコードのいずれかで
$getUsers = function ($request, $response, $arguments) use ($container) {
$decode = $this->jwt;
print_r($decode);
};
$app->get("/user", $getUsers);
。第1の例が好ましい。
$ curl --include http://localhost:8081/user --header "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.mHEOMTUPhzNDAKheszd1A74EyLmKgy3PFdmKLg4ZNAE"
HTTP/1.1 200 OK
Host: localhost:8081
Connection: close
X-Powered-By: PHP/7.0.12
Content-Type: text/html; charset=UTF-8
Content-Length: 84
stdClass Object
(
[sub] => 1234567890
[name] => John Doe
[admin] => 1
)
の可能性のある重複[アクセス$ slim3でルート内でこの「がないときは、オブジェクトのコンテキストで$これを使用する」は動作しません](http://stackoverflow.com/questions/40362978/access-this-スリム・イン・ア・ルート・イン・スリム3作品ではなく、これをオブジェクトで使用する場合) – jmattheis