一个控制器中的多个操作 - Symfony2

时间:2014-12-03 18:06:10

标签: forms symfony controller submission

我有一个复杂的表格。此表单在控制器A中创建。 所有操作,如:编辑,添加,加载,索引 在控制器A中定义,方法actionIndex对于所有其他请求都是必不可少的。

喜欢这个架构:

public class controllerA  {


function actionIndex(Requerst r){

    r.handleRequest();

    if ($form->get('index')->isClicked()){
      // Index Action
    }
    if ($form->get('add')->isClicked()){
      $this->actionAdd();
    }
    // ...
}
function actionAdd(){}

}

}

如何在不同的控制器中分离请求? 实际上它并没有感觉良好。

这是我控制器的实际代码: http://pastebin.com/HuXhV37q

1 个答案:

答案 0 :(得分:0)

我浏览了你的代码,我说德语,所以我理解它。

这里要覆盖太多,所以我只给你一些“关键词”。

将业务逻辑从控制器外包到symfony服务,以使控制器轻量级。 ($ zusaetzeArray等)

如果经济上有意义,请为表单数据创建实体和FormType。

为不同的表单状态创建具有相应路由的多个控制器操作。

  

Symfony2服务:https://stackoverflow.com/a/13099900/982075