Ste*_*nte 9 php model-view-controller frameworks
我一直看到CakePHP和CodeIgniter被称为完整堆栈MVC框架,而Zend Framework被称为非完整堆栈.这到底是什么意思?
Bil*_*win 13
Zend Framework是一个随意使用的框架,允许您使用它的一些组件.您甚至可以在使用某种不同框架构建的应用程序中使用其中一些组件.通过这种方式,一个随意使用的框架更像是一个类库.*
全栈框架意味着使用它的任何部分取决于您使用它的全部.例如,您必须使用框架的数据访问库,MVC架构,代码生成脚手架等,并且这些组件都相互依赖,共同构成完整的框架.
重新评论:是的,耦合是一种看待它的方式.我将其视为假设和灵活性之间的平衡.一个完整的堆栈框架假设你正在使用整个框架,并且从这个假设它可以使一些额外的魔法发生.
ZF旨在最小化假设(即,最小化耦合).它的组件几乎没有假设您是否正在使用其余组件,减少了依赖性,但增加了灵活性.但更少的假设意味着更少的魔力.
这两种框架都具有合法的优势.
*普通类库和框架之间的一个关键区别是框架是可扩展的.我们鼓励您通过子类化或多态等OO机制来增强框架的功能.而类库可能会假设您将按原样使用其API,而不会扩展其功能.