Symfony2中控制器之间的关系

时间:2013-11-23 11:46:42

标签: symfony model-view-controller controller

我是第一次在symfony2中编写一个web应用程序。 我刚刚决定将我的服务器端分成几个控制器。 我正在我的默认控制器中创建我的基础对象,并且当用户做出一些选择并且数据变得更具体时,我想在不同的控制器中处理它(每个数据类)。因为需要将新的子类绑定到它的基类。

之类的东西
// default controller
class DefaultController extends Controller
{
    public $trip;

    public function startAction()
    {
        // get data from request etc.
        // ...
        $trip = new Trip();
    }

    // handling everything else
 }

然后,

// stage controller
class StageController extends Controller
{
    public $stage;

    public function setStageAction()
    {
        // get data from request etc.
        // ...
        $stage = new Stage();
        $stage->SetTrip($trip); // doesn't work of course.
    }

    // handling everything else
 }

试图弄清楚如何处理上面的情况我一直想知道捆绑中的控制器的关系是什么样的。 除了“将控制器设置为服务”之外什么也找不到,这可能是我的情况的解决方案,但不能帮助我理解架构。 我想也许这是一个愚蠢的问题, 仍然, 任何人吗?

1 个答案:

答案 0 :(得分:0)

在symfony中,您可以使用服务。

每项服务都将完成工作,您委托给它。 例如,有一个名为StageManager的服务,然后你在那里创建一个函数create Stage,你可以创建所有的实体创建和映射,然后你可以将它保存到数据库中。

在这里,您可以看到一个示例什么是服务,如何创建一个以及如何在控制器中使用它。

Link