如何在Twig中通过app变量访问到User, Request, Session和更多对象
3.4 版本
维护中的版本
在每个请求中,Symfony将会在Twig引擎和PHP引擎默认设置一个全局模板变量app
。该app
变量是一个GlobalVariables
实例,它将让你自动访问到程序一些特定的变量。比如:
app.user
- 表示当前用户对象,如果没有就是
null
。这个变量中存储的值,可以是一个UserInterface
对象,任何实现了__toString()方法的对象,或者甚至是一个常规字符串。 object, any other object which implements a__toString()
method or even a regular string. app.request
- 这个
Request
对象就是当前请求对象(取决于你的程序,它可能是一个子请求或者是一个常规请求,后面会解释) app.session
- 这个
Session
对象表示当前用户的session,如果没有就是null
。 app.environment
- 当前程序的环境名称(
dev
,prod
, 等等). app.debug
- 如果在debug模式下就是true,false则不是。
1 2 3 4 5 | <p>Username: <?php echo $app->getUser()->getUsername() ?></p>
<?php if ($app->getDebug()): ?>
<p>Request method: <?php echo $app->getRequest()->getMethod() ?></p>
<p>Application Environment: <?php echo $app->getEnvironment() ?></p>
<?php endif ?> |
你也可以向其添加你自己的全局模板变量 。查看如何注入变量到所有模板(全局Twig变量)。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。
登录symfonychina 发表评论或留下问题(我们会尽量回复)