本人基础薄弱,近日遇到一个概念问题,当使用yii创建一个组件时,应该怎样对这个这个组件进行分类呢。什么时候应该归为components,什么时候是extensions,如何阐述他们的概念?想了解一下yii整个架构概念,谢谢各位赐教。
本人基础薄弱,近日遇到一个概念问题,当使用yii创建一个组件时,应该怎样对这个这个组件进行分类呢。什么时候应该归为components,什么时候是extensions,如何阐述他们的概念?想了解一下yii整个架构概念,谢谢各位赐教。
components 直译为“组件”,config文件中一次性将components中的类import到app中,调用时直接写类名就可以。而不需要单独import。可以理解为网站必须的代码。
// autoloading model and component classes
'import'=>array(
'application.models.*',
'application.components.*',
),
extensions 直译为“扩展”,扩展主要包括一些第三方插件等。只有网站在特定部分才加载,比如编辑器等。
module 直译为“模块”,在app中嵌入一个子app。gii就是一个典型的module.
thanks,照这样说,如果components加载得太多,应该会影响网站速度吧?
在main.php中配置的component过多,影响几乎忽略不计
因为只有在你用到的时候才根据component_config加载component类文件,生成component对象
具体的component加载创建流程可以看看CModule里面的getComponent方法
用到需要的component类的时候才会加载,不会影响速度!