使用Slim 3 Framework,我尝试在一个函数中更改post / put-request的参数,并将操纵后的请求传递给另一个函数,如下所示:
public function myFunction(Request $request, Response $response, $args)
{
$markdown = $request->getParams("markdown");
$markdown = strg_replace('needle', 'replace', $markdown);
$request->setParams("markdown", $markdown);
$this->anotherFunction($request, $response, $args);
}
当然,setParams
并不苗条,因此我尝试使用getAttribute / withAttribute,但是似乎您无权访问以下post / put-params:
$markdown = $request->getAttribute('markdown'); // is empty
$markdown = strg_replace('needle', 'replace', $markdown);
$request = $request->withAttribute('markdown', $markdown);
$this->anotherFunction($request, $response, $args);
我找到了另一个函数withParsedBody()
,但是我看不到一种操纵参数并将其放回请求并传递请求的方法。有任何想法或解决方法吗?
答案 0 :(得分:0)
抱歉,我刚刚在PSR-7的文档中找到了它:
$params = $request->getParsedBody();
$params['markdown'] = 'manipulate me'
$request = $request->withParsedBody($params);
,并且有效。也许可以帮助某人...