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

  • 相关阅读:
    Contest Record
    Work at DP
    波兰题目补全计划
    BZOJ #3746: [POI2015]Czarnoksiężnicy okrągłego stołu 动态规划
    【HEOI 2018】制胡窜
    【HEOI 2018】林克卡特树
    省选之前的未完成的计划(截至到省选)
    小学半平面交
    小学扩展欧拉定理
    【复习】高斯消元解图上期望概率
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6756330.html
Copyright © 2011-2022 走看看