Изменить параметр в запросе Slim Framework 3
Используя 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
не существует в slim, поэтому я попытался с 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()
но я не вижу способа манипулировать параметрами и вернуть их обратно в запрос и передать запрос. У кого-нибудь есть идея или обходной путь?
1 ответ
Извините, я только что нашел это в документации PSR-7:
$params = $request->getParsedBody();
$params['markdown'] = 'manipulate me'
$request = $request->withParsedBody($params);
и это работает. Может быть, это кому-то помогает...