区别:1、yii2.0完全拥抱composer,yii1.1没有;2、yii2.0几乎每一个核心类都引入了命名空间,且1.1版类名前缀 “c” 已经不再使用;3、yii2.0把1.1中的ccomponent类拆分成了两个类。
2.0 版框架是完全重写的,在 1.1 和 2.0 两个版本之间存在相当多差异。因此从 1.1 版升级并不像小版本间的跨越那么简单,通过本指南你将会了解两个版本间主要的不同之处。
安装
yii 2.0 完全拥抱 composer,它是事实上的 php 依赖管理工具。核心框架以及扩展的安装都通过 composer 来处理。
php 需求
yii 2.0 需要 php 5.4 或更高版本,该版本相对于 yii 1.1 所需求的 php 5.2 而言有巨大的改进。因此在语言层面上有很多的值得注意的不同之处。下面是 php 层的主要变化汇总:
命名空间
匿名函数
数组短语法 [...元素...] 用于取代 array(...元素...)
视图文件中的短格式 echo 标签 =,自 php 5.4 起总会被识别并且合法,无论 short_open_tag 的设置是什么,可以安全使用。
spl 类和接口
延迟静态绑定
日期和时间
traits
intl yii 2.0 使用 php 扩展 intl 来支持国际化的相关功能。
命名空间
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的区别是什么的详细内容。