yii 2 相比yii 1.1.x 有什么变化
1个回答
展开全部
2.0 版框架是完全重写的,在 1.1 和 2.0 两个版本之间存在相当多差异。
Yii 2.0 需要 PHP 5.4 或更高版本,该版本相对于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改进。
1. 应用程序实例直接使用全局命名变量来访问:$app,而无须调用app()
2. Yii2在视图层的一个显著改变是引入了视图类,这样在MVC模式实现上更为完整。
相应的,相关展现层附属类就由新的视图类来接手管理,比如theme:
Yii::app()->theme->baseUrl 应该更新为 Yii::$app->view->theme->baseUrl,或者$this->theme->baseUrl。
3. Yii2引入了资源包的概念,资源引用的方式变化较大。
有两种方式引入资源,一种是通过assets目录下的AppAsset类,还有就是通过类似Yii1种的注册方法。
Yii::app()->getClientScript()方法不再可用,比如想要在页面中动态注册JS脚本文件,变动如下:
Yii::app()->getClientScript()->registerScriptFile('...') 修改为 Yii::$app->view->registerJsFile('...'),或者$this->registerJsFile('...')。
详尽的升级指南参阅Yii2中文指南逗从Yii1升级部分地:
Yii 2.0 需要 PHP 5.4 或更高版本,该版本相对于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改进。
1. 应用程序实例直接使用全局命名变量来访问:$app,而无须调用app()
2. Yii2在视图层的一个显著改变是引入了视图类,这样在MVC模式实现上更为完整。
相应的,相关展现层附属类就由新的视图类来接手管理,比如theme:
Yii::app()->theme->baseUrl 应该更新为 Yii::$app->view->theme->baseUrl,或者$this->theme->baseUrl。
3. Yii2引入了资源包的概念,资源引用的方式变化较大。
有两种方式引入资源,一种是通过assets目录下的AppAsset类,还有就是通过类似Yii1种的注册方法。
Yii::app()->getClientScript()方法不再可用,比如想要在页面中动态注册JS脚本文件,变动如下:
Yii::app()->getClientScript()->registerScriptFile('...') 修改为 Yii::$app->view->registerJsFile('...'),或者$this->registerJsFile('...')。
详尽的升级指南参阅Yii2中文指南逗从Yii1升级部分地:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询