31

我是 Yii 框架的新手,刚刚在受保护的文件夹中遇到了模块扩展组件。

任何人都可以在理论上和实践上区分所有这些。

4

2 回答 2

47

组件是可以帮助您根据模型编写业务逻辑的类。假设您所有的模型文件都使用相同的逻辑,因此可以将逻辑写入组件内部,而不是为每个控制器编写。

扩展就像库一样,基本上不依赖于您的模型,因此可以在当前或以后的项目中的任何地方重用。例如编写任何电子邮件扩展名。

模块是一个独立的软件单元,由模型、视图、控制器和其他支持组件组成。在许多方面,模块类似于应用程序。主要区别在于模块不能单独部署,它必须驻留在应用程序内部。用户可以像访问普通应用程序控制器一样访问模块中的控制器。

我希望它会帮助你。

于 2013-01-07T14:56:01.153 回答
16

在这里加上我的 2 美分...

零件

你自己的类文件,你想用它做一些事情,只针对这个站点。示例是上传应用程序中的 zip 压缩类,某些安全应用程序的自定义加密算法

延期

可重复使用的外部类文件或文件组,通常由第 3 方提供。示例是您或其他人构建的 facebook 连接库、从 ebay.com 获取列表的 api 库、从 google 读取的 rss 阅读器库等。

模块

一个基于 mini-yii 的站点作为站点的子集,也可以在其他应用程序中重复使用,或者独立构建以使 yii 更加模块化。例如,一个独立于站点但仅使用登录用户信息的论坛模块,一个包含与 openid、facebook 和 google 等多个站点集成的用户身份验证模块

于 2013-01-04T12:58:38.807 回答