yii asset 初步

yii 版本是2.0 .8

我 js 目录 web->js->login.js

页面引入js方法一:

  $this->registerJsFile('@web/js/login.js',['depends'=>['app\assets\AppAsset']]); 红色必需

页面引入js方法二:

  直接在 asset->AppAsset 里对应的 $js 数组里添加 文件 如 $js = [   'js/login.js',   ]

  yii 他引入外部js文件也是到这个 asset->AppAsset 文件里找的,所以当我们自己写了个如 asset->TestAsset

  我们要引入他全部的js,css文件时 ,在页面 注册它 如

  use app\assets\TestAsset;
  TestAsset::register($this);

  他就会自动加载进去了

另 可以在  asset->AppAsset 里加入两个方法

//定义按需加载JS方法,注意加载顺序在最后
    public static function addScript($view, $jsfile) {
        $view->registerJsFile($jsfile, ['depends' => 'app\assets\AppAsset','position'=> $view::POS_END]);
    }
    //定义按需加载css方法,注意加载顺序在最后
    public static function addCss($view, $cssfile) {
        $view->registerCssFile($cssfile, ['depends' => 'app\assets\AppAsset',$view::POS_END]);
    }

引入文件 页面 如下

use app\assets\AppAsset;
AppAsset::register($this);
AppAsset::addScript($this,'@web/js/login.js');

加入自己layout文件也是差不多,

如 admin_layout  我们在一个公共的控制里 的init 方法里 指定渲染的模板  $this->layout = '/main_admin'; 完成

Yii2 获取模块名、控制器名、方法名
在视图中: 
    模块名  $this->context->module->id
    控制器名 $this->context->id
    方法名 $this->context->action->id
在控制器中
     模块名   Yii::$app->controller->module->id;
     控制器名   Yii::$app->controller->id
     方法名  Yii::$app->controller->action->id; 
    模块名 $this->module->id;
    控制器名 $this->id;
     方法名  $this->action->id;
在控制器的 beforeAction 方法中(方法接收$action参数)
    模块名  $action->controller->module->id;
    控制器名 $action->controller->id;
    方法名  $action->id;
上一篇:跨站请求伪造 CSRF / XSRF<二:应用>


下一篇:mybatis的jdbcType和javaType、oracle,MySQL的对应类型