2012-10-05 76 views
0

我有一個情況,我在Symfony 1.4中有一個基礎控制器(一個基本的actions.php文件)。我想創建另一個控制器,用於擴展該基本控制器的相同模塊。有沒有辦法讓一個symfony 1.4模塊有多個控制器?

我需要擴展該基本控制器,因爲我想自定義某些訪問者的行爲,這些訪問者是基於URL中的ID標識的。

任何提示?

回答

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

} 
+0

這就是我現在正在做的。我希望有一個更優雅的解決方案,繼承或類似的東西......謝謝! –

+0

Nop。 Symfony在actions文件夾中搜索actions.class.php文件。並且該類名稱應與「module_folder_name」操作相匹配。 – glerendegui

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.ph p

相關問題