如何在Twig中加载Slim flash vars

时间:2015-03-25 12:40:48

标签: twig slim

我使用Slim Framework和Twig模板引擎,我无法理解如何使用" flash vars"在视图中。 我试过了

{{flash.prev}}

但它没有用。

1 个答案:

答案 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