您的位置:首页 > 技术中心 > php框架 >

yii1.0和2.0的区别

时间:2019-12-30 14:11

请注意,Yii 2.0 引入了很多本章并没有涉及到的新功能。 强烈建议你通读整部权威指南来了解所有新特性。 这样有可能会发现一些以前你要自己开发的功能,而现在已经被包含在核心代码中了。 (推荐学习:yii教程)

安装

Yii 2.0 完全拥抱 Composer,它是事实上的 PHP 依赖管理工具。 核心框架以及扩展的安装都通过 Composer 来处理。如果你想创建新扩展, 或者把你已有的 Yii 1.1 的扩展改写成兼容 2.0 的版本, 你可以参考 创建扩展 章节。

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\web\Request 就表明对应的类文件是 Yii 框架文件夹下的 web/Request.php 文件。

(有了 Yii 的类自动加载器, 你可以直接使用全部核心类而不需要显式包含具体文件。)

组件(Component)与对象(BaseObject)

Yii 2.0 把 1.1 中的 CComponent 类拆分成了两个类:yii\base\Object 和 yii\base\Component。 yii\base\Object 类是一个轻量级的基类,你可以通过 getters 和 setters 来定义对象的属性。

Component 类继承自 yii\base\Object, 同时进一步支持 事件 和 行为。

如果你不需要用到事件或行为, 应该考虑使用 yii\base\Object 类作为基类。 这种类通常用来表示基本的数据结构。

以上就是yii1.0和2.0的区别的详细内容,更多请关注gxlsystem.com其它相关文章!

热门排行

今日推荐

热门手游