在模版里,有一些Symfony變量可以直接使用。通過這些快捷變量可以從Symfony的對象中取得
一些最常用的模版信息:
$sf_context: 完整的環(huán)境對象(context object), sfContext類的實(shí)例
$sf_request: 請求對象,sfRequest類的實(shí)例
$sf_params: 請求的參數(shù)
$sf_user: 當(dāng)前的用戶session對象,sfUser類的實(shí)例
$sf_flash: 類似Session 一樣的東西,不過只存儲(chǔ)到下一個(gè)頁面,就自動(dòng)注銷了。
$sf_request 請求對象的實(shí)例:
模版中獲得請求的參數(shù)(http://www.a.cn/showpage.php?id=1,id就是請求showpage.php的參數(shù))
| <?php echo $sf_request->getParameter(’id’); ?>
| 簡版:
| <?php echo $sf_params->get(’id’); ?>
|
| 在動(dòng)作(action)里面,相當(dāng)于如下代碼:
| echo $this->getRequestParameter(’id’)
獲得當(dāng)前/最初訪問的模塊/動(dòng)作名稱
<?php
$sf_last_module = $sf_context->getModuleName();
$sf_last_action = $sf_context->getActionName();
$sf_first_module = $sf_context->getActionStack()->getFirstEntry()->getModuleName();
$sf_first_action = $sf_context->getActionStack()->getFirstEntry()->getActionName();
$sf_context->getController()->getPresentationFor(’presentation’, ‘foo’);
?>
撲捉錯(cuò)誤:
<?php if ($sf_request->hasErrors()): ?>
<h2>Errors: </h2>
<?php foreach ($sf_request->getErrorNames() as $name): ?>
<dl>
<dt><?php echo $name ?></dt>
<dd><?php echo $sf_request->getError($name) ?></dd>
</dl>
<?php endforeach; ?>
<?php elseif ($sf_flash->has(’notice’)): ?>
<h2><?php echo __($sf_flash->get(’notice’))</h2>
<?php endif; ?>