我一直看到 CakePHP 和 CodeIgniter 被称为全栈 MVC 框架,而 Zend Framework 据说是非全栈。这到底是什么意思?
最佳答案
Zend Framework 是一个随意使用的框架,它允许您使用它的一些组件。您甚至可以在使用某些不同 框架构建的应用程序中使用其中一些组件。这样,随意使用的框架更像是一个类库。*
全栈框架意味着使用它的任何部分都取决于你使用它的全部。例如,您必须使用框架的数据访问库、MVC 架构、代码生成脚手架等,这些组件相互依赖,共同构成完整的框架。
关于您的评论:是的,耦合是看待它的一种方式。我将其视为假设和灵 active 之间的平衡。一个全栈框架假设你正在一起使用整个框架,并且从这个假设它可以让一些额外的魔法发生。
ZF 旨在最小化假设(即最小化耦合)。它的组件很少假设您是否正在使用其余组件,从而减少了依赖性但增加了灵 active 。但更少的假设意味着更少的魔力。
两种风格的框架都有合法的优势。
* 普通类库和框架之间的一个主要区别是框架旨在可扩展。我们鼓励您通过子类化或多态性等 OO 机制来增强框架的功能。而类库可能假设您将按原样使用其 API,而无需扩展其功能。
关于php - 全栈与非全栈 MVC PHP 框架——有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506782/