Symfony2中控制器之间的关系



我第一次用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
 }

为了弄清楚如何处理上述情况,我一直在想捆绑包中控制器的关系是什么样的。找不到任何东西,只能"将控制器设置为服务",这可能是解决我的情况的方法,但无助于我理解体系结构。我想这可能是个愚蠢的问题,还任何人

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

每项服务都能完成任务,不管你委托给它什么。对于exmaple,有一个名为StageManager的服务,然后你在那里创建一个函数create Stage,在那里你完成所有的实体创建和映射,然后你可以将它持久化到数据库中。

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

链接

最新更新