看到手册里面关于“组件”的介绍,看得是云里雾里,哪位朋友能讲解一下“组件”究竟能做什么? 在什么情况下使用?
看到手册里面关于“组件”的介绍,看得是云里雾里,哪位朋友能讲解一下“组件”究竟能做什么? 在什么情况下使用?
是指widget吗?
看blog demo里面有例子。
最好不要看中文的那个,直接看英文的
我看中文的guide也没看懂,英文的好理解
组件就是一个类文件,没什么具体的含义。你功能相关的代码组织在一起,就是一个类。
yii中好多组件,chtml,user,你看看yii有内置(即自带的)组件。
如果你想建立自己的组件,就要按yii的要求进行扩展。
组件是用来扩充application或网站的功能的,比如你想建立一个查询房价的功能,就可以做成一个组件,然后在配置文件中加载就可以用了。如果你的功能很庞大的话,就可将组件变成模块(module),从某个程度说,module就是一个大组件而已,当然module有自己的组件、视图等。
有了组件,你可为组件添加行为behavior,行为是用来扩展组件的功能的,组件是用来扩展应用的功能的,模块是一组功能体系或者二级域名对应的功能。
总之,模块 组件 行为,就是不同等级的功能分类。你要按yii要求做。
以上是我的理解,纯粹是自我的非专业理解,呵呵。
2011第一贴哦!祝yii越来越好!
赞,手册确实看不懂。还是Junior Member说的通俗易懂!
在yii中组件就是所有类的根 如果你学过QT的话应该知道有个QObject 那么在yii中这个类就是CComponet(或者认为是YiiObject) 是“根”类型,看看CComponent的源码 和继承关系就明白了
这个根 主要提供了 事件机制的实现(观察者设计模式) 和behavior功能的支持(mixin功能的实现 多继承的模拟;behavior在yii中的另一个功能是事件监听功能主要监听owner的事件 ),另外就是对__set
__get 等魔术方法的实现 让我们可以以$yiiObject->attr 的形式来调用对应的Setter/Getter setAtrr()/getAttr() 方法
这个类为所有子类提供共有功能的实现 这使得所有类都具有事件触发 behavior安装/禁用/卸载的功能 以及setter/getter(统称为accessor)
所以说Yii是基于组件的 你要明白这句话的含义
值得一提的是 在Joomla中 有这样的关系跟yii中的类对应
Joomla( component , module)
对应 Yii ( module , widget) module在系统中的地位就想当于subSystem(子系统的概念)