这篇文章主要介绍yii1.1和yii2.0有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
区别: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 标签
SPL 类和接口
延迟静态绑定
日期和时间
Traits
intl Yii 2.0 使用 PHP 扩展 intl 来支持国际化的相关功能。
命名空间
Yii 2.0 里最明显的改动就数命名空间的使用了。几乎每一个核心类都引入了命名空间,比如 yii\web\Request。1.1 版类名前缀 “C” 已经不再使用。
当前的命名方案与目录结构相吻合。例如,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有哪些区别”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!