我有一個情況,我在Symfony 1.4中有一個基礎控制器(一個基本的actions.php文件)。我想創建另一個控制器,用於擴展該基本控制器的相同模塊。有沒有辦法讓一個symfony 1.4模塊有多個控制器?
我需要擴展該基本控制器,因爲我想自定義某些訪問者的行爲,這些訪問者是基於URL中的ID標識的。
任何提示?
我有一個情況,我在Symfony 1.4中有一個基礎控制器(一個基本的actions.php文件)。我想創建另一個控制器,用於擴展該基本控制器的相同模塊。有沒有辦法讓一個symfony 1.4模塊有多個控制器?
我需要擴展該基本控制器,因爲我想自定義某些訪問者的行爲,這些訪問者是基於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.ph p
這就是我現在正在做的。我希望有一個更優雅的解決方案,繼承或類似的東西......謝謝! –
Nop。 Symfony在actions文件夾中搜索actions.class.php文件。並且該類名稱應與「module_folder_name」操作相匹配。 – glerendegui