有没有办法让symfony 1.4模块有多个控制器?

时间:2012-10-05 20:38:47

标签: php symfony-1.4

我有一种情况,我在Symfony 1.4中有一个基本控制器(一个基本的actions.php文件)。我想为同一模块创建另一个控制器,扩展该基本控制器。

我需要扩展该基本控制器,因为我想自定义某些访问者的行为,这些访问者是根据URL中的ID识别的。

任何提示?

2 个答案:

答案 0 :(得分:1)

同一模块的另一个控制器类,我认为在symfony中是不可能的。

我想最简单的解决方案是在同一个类中创建另一个方法,然后从基类中调用它。

通过示例:actions.class.php:

public function executeBaseAction(sfWebRequest $request) {

   .. if($user....) then return $this->executeCustomAction($request);

}

public function executeCustomAction(sfWebRequest $request) {
  // $this->setTemplate('anotherTemplate?');

}

答案 1 :(得分:0)

实际上,您可以为同一模块添加另一个控制器类。

您可以通过以下方式在操作目录中包含多个文件:

在action1Action.class.php

class action1Action extends sfAction
{
    public function execute($request) {
        //Your code here
    }
}

这将使用模板action1Success.php

在action2Action.class.php

class action2Action extends sfAction
{
    public function execute($request) {
        //Your code here
    }
}

这将使用模板action2Success.php