是否可以在RESTful Symfony应用程序中分离Controller和View?

时间:2015-11-02 22:29:04

标签: php api rest symfony model-view-controller

我正在考虑使用Symfony来创建RESTful api。我希望我的应用程序只接受json和/或xml,然后输出。我希望我的前端在一个单独的目录中完全分开。

免责声明:我知道大多数框架只声称是MVC,MVC的定义/原则因开发人员而异。因此,我已经阐述了我对MVC的理解。

我如何描绘MVC(取自Martin Fowler):

Essential dependencies between model, view, and controller. (I call this essential because in fact the view and controller do link to each other directly, but developers mostly don't use this fact.)

  • 在演示文稿(视图和控制器)和域(模型)之间进行强有力的分离
  • 控制器和视图(通常)不应直接通过模型进行通信。
  • 让视图(和控制器)观察模型以允许更新多个小部件而无需直接通信 - 观察者同步。

在Symfony中,Controller返回一个Response,而且确实没有View类。他们将两者结合起来。

我的问题是:

  • 是否可以将控制器分离到控制器并查看?
  • 你能让控制器不归还吗?
  • app / bundle中可能没有任何html / templates吗?
    • 正如我之前所说,我希望将前端完全分开,因此,我不会使用树枝。我会使用JS,SASS,React等来为我的前端内容调用我的Symfony api进行ajax调用。

1 个答案:

答案 0 :(得分:1)

您要做的是一个非常标准的架构。

您不需要使用模板,但您的控制器必须返回"某些内容"。如果您正在处理前端的视图,那么这只是创建此视图所需的数据,通常采用json的形式

Symfony可以做到这一点,没问题