作者:与天使有染的救赎_164 | 来源:互联网 | 2021-10-31 00:42
区别:1、Yii2.0完全拥抱Composer,yii1.1没有;2、Yii2.0几乎每一个核心类都引入了命名空间,且1.1版类名前缀“C”已经不再使用;3、Yii2.0把1.1中的CComponent类拆分成了两个类。
区别:1、Yii2.0完全拥抱Composer,yii1.1没有;2、Yii2.0几乎每一个核心类都引入了命名空间,且1.1版类名前缀 “C” 已经不再使用;3、Yii2.0把1.1中的CComponent类拆分成了两个类。
Yii 2.0 里最明显的改动就数命名空间的使用了。几乎每一个核心类都引入了命名空间,比如 yii\web\Request。1.1 版类名前缀 “C” 已经不再使用。 (推荐学习:yii教程)
当前的命名方案与目录结构相吻合。例如,yii\web\Request 就表明对应的类文件是 Yii 框架文件夹下的 web/Request.php 文件。
有了 Yii 的类自动加载器,你可以直接使用全部核心类而不需要显式包含具体文件。
组件(Component)与对象(Object)
Yii 2.0 把 1.1 中的 CComponent 类拆分成了两个类:[[yii\base\Object]] 和 [[yii\base\Component]]。[[yii\base\Object|Object]] 类是一个轻量级的基类,你可以通过 getters 和 setters 来定义对象的属性。
[[yii\base\Component|Component]] 类继承自 [[yii\base\Object|Object]],同时进一步支持 事件 和 行为。
事件(Event)
在 Yii 1 中,通常通过定义 on 开头的方法(例如 onBeforeSave)来创建事件。而在 Yii 2 中,你可以使用任意的事件名了。同时通过调用 [[yii\base\Component::trigger()|trigger()]] 方法来触发相关事件:
$event = new \yii\base\Event;
$component->trigger($eventName, $event);
要给事件附加一个事件事件处理器,需要使用 [[yii\base\Component::on()|on()]] 方法:
$component->on($eventName, $handler);
// 解除事件处理器,使用 off 方法:
// $component->off($eventName, $handler);
以上就是yii1.1和yii2.0的区别是什么的详细内容,更多请关注其它相关文章!