我想问一下以前做过的人。我有一个用Symfony 2.x编写的全栈(应用程序逻辑+模板等)应用程序。我现在需要将REST API添加到我当前的内容中,并且我希望避免将这两者混合使用,因为API需要加载twig和大量其他组件/ bundle,这肯定会影响性能。到目前为止,我确定了三种方法:
虽然第一个对我来说很明显,但此时并不可行。接下来的两个对我来说有点模棱两可。来自Symfony docs:
尽管环境使用不同的配置执行相同的应用程序,但内核可以执行同一应用程序的不同部分。
所以我可以想象内核场景,它有单独的前端控制器,加载新内核,加载自己的配置并注册其捆绑。但是对于新环境,我们还可以加载特定于环境的配置并注册其他捆绑包。
哪一个在性能方面会更好? (假设全栈应用程序总共使用了很少的重型捆绑包和大约15个第三方捆绑包,而API应用程序将使用2-3个第三方捆绑包,这些将需要是轻量级的)。这里的次要因素是可维护性。
如果你知道其他方法可以很好地处理这个问题,请不要犹豫提出你的建议(与上面列出的解决方案相比有利有弊)。