2016-07-12 2 views
0

슬림 프레임 워크의 문서에서 this 예제 다음의 미들웨어에서 jwt 토큰을 디코딩 할 것입니다. 이제 jwt 토큰에서 디코딩 된 userid을 요청 개체에 바인딩하려고합니다. 이것은 expressjs에서 우리가하는 방법입니다. 그러나 나는 슬림 한 프레임 워크에서 그것을하는 방법을 이해할 수 없습니다. 요청 객체에 데이터를 바인딩하는 방법이 있습니까? 미들웨어에서 객체를 요청하기위한 데이터 바인딩 [Slim Framework 3]

내가 시도 :

$request->setParam('userid', $userId); 

답변

2

좋아, 내가이 문제를 해결했다. 이것은 슬림 한 프레임 워크에서 요청 객체에 데이터를 바인딩하는 방법입니다.

$userId = $request->getAttribute('userid'); 
+1

이 잘 수행 :

$request = $request->withAttribute('userid', $userId); 

그리고 경로 또는 컨트롤러에

, 이것은 우리가 데이터를 얻을 수있는 방법입니다! 중요한 교훈은 Request 객체가 변경되지 않기 때문에 수정 된'$ request'를 새로운 변수에 복사해야한다는 것입니다. 다시 질문 - 질문의 코드에서 L 값 ('$ request-> setParam ('userid') = $ userId;')으로 메서드를 사용했습니다. 특별한'list()'구조를 제외하고는 PHP에서 그러한 기능을 알지 못합니다. 제발 저에게 그것을 가르쳐 주시겠습니까? – jirka

+0

당신 말이 맞아요. 이것은 내가 실수 한 것입니다 .. 결과를 얻기 위해 모든 것을 시도하면서 코드를 복사하고 여기에 붙여 넣었습니다. 나는 nodejs에서 왔고 이것은 우리가 express'req.user = userid;'에서 어떻게 수행하는지이다. 어쨌든, 내가 질문에 코드를 업데이 트했습니다. – Noobish

관련 문제