如何在Symfony 1.4中检索当前模块的名称

本文概述

  • 从模板(视图)
  • 从动作(控制器)开始
在Symfony 1.4中, sfContext提供有关当前应用程序上下文的信息, 例如有关请求, 响应等的信息。你将能够从此上下文中检索当前正在运行代码的模块的名称。这可以通过模板(视图)和操作(控制器)来实现:
从模板(视图)在模板中, sfContext实例应该在视图层中自动显示为$ sf_context, 因此你可以使用以下命令简单地访问模块名称:
// Outputs: "module_name"echo $sf_context-> getModuleName();

从动作(控制器)开始或者, 如果确实需要, 可以将模块名称作为变量发送, 从控制器访问sfContext(或在控制器中获取模块名称, 然后根据模块名称发送其他变量):
< ?php// apps/frontend/modules/job/actions/actions.class.phpclass 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;

【如何在Symfony 1.4中检索当前模块的名称】编码愉快!

    推荐阅读