php - 全栈与非全栈 MVC PHP 框架——有什么区别?

标签 php model-view-controller frameworks

我一直看到 CakePHP 和 CodeIgniter 被称为全栈 MVC 框架,而 Zend Framework 据说是非全栈。这到底是什么意思?

最佳答案

Zend Framework 是一个随意使用的框架,它允许您使用它的一些组件。您甚至可以在使用某些不同 框架构建的应用程序中使用其中一些组件。这样,随意使用的框架更像是一个类库。*

全栈框架意味着使用它的任何部分都取决于你使用它的全部。例如,您必须使用框架的数据访问库、MVC 架构、代码生成脚手架等,这些组件相互依赖,共同构成完整的框架。

关于您的评论:是的,耦合是看待它的一种方式。我将其视为假设和灵 active 之间的平衡。一个全栈框架假设你正在一起使用整个框架,并且从这个假设它可以让一些额外的魔法发生。

ZF 旨在最小化假设(即最小化耦合)。它的组件很少假设您是否正在使用其余组件,从而减少了依赖性但增加了灵 active 。但更少的假设意味着更少的魔力。

两种风格的框架都有合法的优势。


* 普通类库和框架之间的一个主要区别是框架旨在可扩展。我们鼓励您通过子类化或多态性等 OO 机制来增强框架的功能。而类库可能假设您将按原样使用其 API,而无需扩展其功能。

关于php - 全栈与非全栈 MVC PHP 框架——有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506782/

相关文章:

php - 使用 jquery 动态地将 id 添加到 html 组件

php - 正则表达式删除空行,但保留新行

php - 自定义组件后端中的 Joomla 3.0 MVC 文件上传

PHP MVC - 将 JSON 转换为模型数据

javascript - 我不应该使用 backbone.js 因为它使用 hashbangs 吗?

php - mySQL:更新大型数据库中记录的最有效方法?

php - SQL 延迟加载 - 选择一个范围但丢弃之前选择的条目

python - 什么是好的轻量级 Python MVC 框架?

c++ - 极简框架

frameworks - Struts2配置和性能