我有一种情况,我在Symfony 1.4中有一个基本控制器(一个基本的actions.php文件)。我想为同一模块创建另一个控制器,扩展该基本控制器。
我需要扩展该基本控制器,因为我想自定义某些访问者的行为,这些访问者是根据URL中的ID识别的。
任何提示?
答案 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