• 技术文章 >php框架 >YII

    yii1和yii2的区别有哪些?

    青灯夜游青灯夜游2019-12-23 17:43:13原创1082
    Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。

    Yii2.0 版框架是完全重写的,在 1.1 和 2.0 两个版本之间存在相当多差异。【推荐学习:Yii入门教程

    那么yii1和yii2的区别有哪些?

    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('...')。

    4、使用数据库

    比如查询知道user_id的一条记录记录

    yii1:

    User::model()->find('user_id=:user_id',[':user_id'=>$user_id]);

    yii2:

    User::find()->where('user_id=:user_id',[':user_id'=>$user_id])->one();

    查询多条记录:

    yii1:

    User::model()->findAll('status=:status',[':staus'=>$status]);

    yii2:

    User::find()->where('status=:status',[':staus'=>$status])->all();

    另外yii2 还提供了 asArray() 方法,直接查询结果为数组:

    User::find()->where('status=:status',[':staus'=>$status])->asArray()->all();

    如果是初学者的话,建议直接学习yii2。

    以上就是yii1和yii2的区别有哪些?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:yii
    上一篇:yii中assets是什么文件夹? 下一篇:yii2.0是什么?
    大前端线上培训班

    相关文章推荐

    • 怎么使用yii框架创建项目• yii框架中怎么引入css文件• yii2.0中提示csrf您提交的数据无法被验证• yii框架隐藏index.php文件

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网