我想你可以用分部代替一个组件。在这个场景中,您有一个特定User对象的showAction,并且您希望在用户登录时使用staditics模板在所有应用程序中显示。
首先,您创建一个executeShow和ashowSuccess.php模板,该模板看起来像:
操作:
public function executeShow(sfWebRequest $request)
{//the session loggedin user, suppose he s logged in
$this->user = $this->getUser();
}
模板:
[..blablabla...htmlcode]
<?php echo $user ?>
<?php include_partial( module/partial_name ,array( user ,$user))?>
[..blablabla...morehtmlcode]
现在,位于“module”模块的模板文件夹中的名为partial_name的partial将检查设置的$user变量,这是include_partial的第二个参数,告诉:“定义一个名为user的变量,其值为$user”。
通过这种方式,您可以共享对象的同一实例,而无需在数据库中重新搜索该对象。