我是Yii框架的新手,刚刚遇到模块,扩展程序&受保护文件夹内的组件。
任何人都可以在理论上和实际上区分所有这些。
答案 0 :(得分:44)
组件是可以帮助您根据模型编写业务逻辑的类。假设所有模型文件都使用相同的逻辑,那么逻辑可以写在组件内部而不是为每个控制器写入。
扩展程序类似于库,它们基本上不依赖于您的模型,因此可以在当前或以后的项目中的任何位置重复使用。例如,写任何电子邮件扩展名。
模块是一个独立的软件单元,由模型,视图,控制器和其他支持组件组成。在许多方面,模块类似于应用程序。主要区别在于模块不能单独部署,并且必须驻留在应用程序内部。用户可以像访问普通应用程序控制器一样访问模块中的控制器。
我希望它会对你有所帮助。
答案 1 :(得分:16)
在这里加我2美分......
组件
您想要使用的自己的类文件,仅针对此站点。示例包括上传应用程序中的zip压缩类,某些安全应用程序的自定义加密算法
<强>扩展强>
可重复使用的外部类文件或文件组,通常由第三方提供。例如你或其他人建立的facebook连接库,ebay.com的api库获取列表,rss阅读器库从谷歌等阅读。
模块
基于mini-yii的站点作为站点的一个子集,也可以在其他应用程序中重用,或者独立构建以使yii更加模块化。例如,一个独立于网站但只使用登录用户信息的论坛模块,一个用户身份验证模块,其中包含与openid,facebook和google等几个网站的集成