Symfony2中的全栈应用程序+ API - 最佳方法

时间:2017-05-15 13:47:08

标签: rest api symfony

我想问一下以前做过的人。我有一个用Symfony 2.x编写的全栈(应用程序逻辑+模板等)应用程序。我现在需要将REST API添加到我当前的内容中,并且我希望避免将这两者混合使用,因为API需要加载twig和大量其他组件/ bundle,这肯定会影响性能。到目前为止,我确定了三种方法:

  1. 编写一个单独的应用程序(这需要大量重构才能将我当前应用程序的各个部分分离,以使它们可以通过这个新的API应用程序重用。)
  2. 使用新环境(暂时让我们称之为“api”)。
  3. 使用新内核(例如ApiKernel)。
  4. 虽然第一个对我来说很明显,但此时并不可行。接下来的两个对我来说有点模棱两可。来自Symfony docs:

      

    尽管环境使用不同的配置执行相同的应用程序,但内核可以执行同一应用程序的不同部分。

    所以我可以想象内核场景,它有单独的前端控制器,加载新内​​核,加载自己的配置并注册其捆绑。但是对于新环境,我们还可以加载特定于环境的配置并注册其他捆绑包。

    哪一个在性能方面会更好? (假设全栈应用程序总共使用了很少的重型捆绑包和大约15个第三方捆绑包,而API应用程序将使用2-3个第三方捆绑包,这些将需要是轻量级的)。这里的次要因素是可维护性。

    如果你知道其他方法可以很好地处理这个问题,请不要犹豫提出你的建议(与上面列出的解决方案相比有利有弊)。

0 个答案:

没有答案