zoukankan      html  css  js  c++  java
  • Yii1.1应用升级到Yii2.0的一些注意点

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

    而注冊(核心)资源包,使用AppAsset::register($this),当中$this指向当前视图上下文。或者例如以下:

    class AppAsset extends AssetBundle
    {
        public $basePath = '@webroot';
        public $baseUrl = '@web';
        public $css = [
            'css/site.css',
        ];
        public $js = [
        ];
        public $depends = [
            'yiiwebYiiAsset',
        ];
    }
    当中 YiiAsset 就是Yii的核心资源包。通过$depends声明应用程序资源依赖关系来注冊该资源包。自己定义资源包方法相似。


    详尽的升级指南參阅Yii2中文指南“从Yii1升级部分”:

    http://yii2.techbrood.com/guide-upgrade-from-v1.html


    by iefreer

  • 相关阅读:
    第四季-专题8-Linux系统调用
    第四季-专题7-Linux内核链表
    Python3 运算符
    Python2和Python3有什么区别?
    python常见的PEP8规范
    机器码和字节码
    域名是什么?为什么域名是www开头?
    selenium自动化登录qq邮箱
    xpath+selenium工具爬取腾讯招聘全球岗位需求
    ArrayList
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6756330.html
Copyright © 2011-2022 走看看