0

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

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

有什么提示吗?

4

2 回答 2

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?');

}
于 2012-10-05T21:31:43.550 回答
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

于 2012-10-19T02:06:59.637 回答