我使用Slim Framework和Twig模板引擎,我无法理解如何使用" flash vars"在视图中。 我试过了
{{flash.prev}}
但它没有用。
答案 0 :(得分:1)
要使flash消息正常工作,您需要使用会话,默认的PHP会话处理程序或Slim附带的SessionCookie,如果您不使用SessionCookie,则需要使用session_start()手动启动PHP会话;
有一些Flash功能,我个人大多使用flash()和flashNow()。 flash()在下一个响应中为您提供变量(例如在重定向之后),而flashNow()为您提供当前响应中的变量。
session_start(); //I manually start the session here.
$app->get('/', function() use ($app) {
$app->flash('test', 'This is the message');
$app->redirect($app->urlFor('test'));
});
$app->get('/test', function() use ($app) {
var_dump($_SESSION['slim.flash']);
$app->render('test.twig');
})->name('test');
在templates / test.twig文件中
<h1>{{flash.test}}</h1>
在上面的例子中,您将看到var_dump将为数组提供&#39; test&#39;密钥和&#39;这是消息&#39;值。在Twig我可以用
获取{{flash.test}}
以上所有文档:http://docs.slimframework.com/#Flash-Messaging-Overview