我有一种情况,我在 Symfony 1.4 中有一个基本控制器(一个基本 actions.php 文件)。我想为同一模块创建另一个控制器,以扩展该基本控制器。
我需要扩展该基本控制器,因为我想自定义某些访问者的行为,这些访问者是基于 URL 中的 ID 识别的。
有什么提示吗?
我有一种情况,我在 Symfony 1.4 中有一个基本控制器(一个基本 actions.php 文件)。我想为同一模块创建另一个控制器,以扩展该基本控制器。
我需要扩展该基本控制器,因为我想自定义某些访问者的行为,这些访问者是基于 URL 中的 ID 识别的。
有什么提示吗?
同一模块的另一个控制器类,我认为在 symfony 中是不可能的。
我想对您来说最简单的解决方案是在同一个类中创建另一个方法,然后从基类中调用它。
例如:actions.class.php:
public function executeBaseAction(sfWebRequest $request) {
.. if($user....) then return $this->executeCustomAction($request);
}
public function executeCustomAction(sfWebRequest $request) {
// $this->setTemplate('anotherTemplate?');
}
实际上,您可以为同一个模块添加另一个控制器类。
您可以通过这种方式在您的操作目录中包含多个文件:
在 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