我想使用the Slim Framework Flash Messages service provider传递数组但是我的数组转换为字符串,因此整个事情都不合适......
如果我理解正确the code for the addMessage
method它应该有效,除非它没有。
这里有一个小例子:
session_start();
$app = new \Slim\App(['settings' => ['displayErrorDetails' => true]]);
$container = $app->getContainer();
$container['flash'] = function() {
return new \Slim\Flash\Messages();
};
$app->get('/foo', function ($request, $response, $args) {
$this->flash->addMessage('test', ['key' => 'value']);
return $response->withStatus(302)->withHeader('Location', '/bar');
});
$app->get('/bar', function ($request, $response, $args) {
$messages = $this->flash->getMessages();
print_r($messages); // returns Array ( [test] => Array ( [0] => Array ) )
});
$app->run();
我错过了什么吗?
答案 0 :(得分:0)
它与您使用的slim-flash
版本有关。如果您查看differences between the current (only one) version (0.1.0) and master branch,则会发现您遇到的错误已在PR 12中修复。
在我们等待其他版本的同时,您可以暂时使用dev-master
中的composer.json
版本,一切正常:
"slim/flash": "dev-master"