本文概述
在Symfony 1.4中, sfContext提供有关当前应用程序上下文的信息, 例如有关请求, 响应等的信息。你将能够从此上下文中检索当前正在运行代码的模块的名称。这可以通过模板(视图)和操作(控制器)来实现:
从模板(视图)
在模板中, sfContext实例应该在视图层中自动显示为$ sf_context, 因此你可以使用以下命令简单地访问模块名称:
// Outputs: "module_name"
echo $sf_context->getModuleName();
从动作(控制器)开始
或者, 如果确实需要, 可以将模块名称作为变量发送, 从控制器访问sfContext(或在控制器中获取模块名称, 然后根据模块名称发送其他变量):
<?php
// apps/frontend/modules/job/actions/actions.class.php
class jobActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
$this->module_name = sfContext::getInstance()->getModuleName();
}
}
因此, 在这种情况下, 通过示例, 在视图indexSuccess.php中, 我们可以使用以下命令打印模块名称:
// app/frontend/modules/job/templates/indexSuccess.php
// Outputs: "job"
echo $module_name;
编码愉快!
评论前必须登录!
注册