Yii基础学习2

技术QQ交流群:294088839


一.yii2使用gii生成代码

  Gii这个扩展,通过使用gii生成代码很大程序上节约了开发的时间成本,
  那么如果使用gii这个组件呢,介绍一下yii2中gii的一些常用功能
  网址:http://www.yii-china.com/post/detail/291.html


二.如何开启gii扩展
  首先要进入配置文件中进行配置 在main-local配置文件中加
    $config['bootstrap'][] = 'gii';
       $config['modules']['gii'] = [
           'class' => 'yii\gii\Module',
       ];
  然后进入web文件夹下对index.php文件进行修改,改成开发者模式
  defined('YII_DEBUG') or define('YII_DEBUG', true);
  defined('YII_ENV') or define('YII_ENV', 'dev');
  然后通过浏览器访问:http://localhost/index.php?r=gii
  进去以后可以进行自动生成代码的配置


三.如果自动生成model
  先创建相对应的数据表
  然后在gii页面上对表进行相对应的配置
  自动生成控制器和视图
  自动生成组件等等
gii扩展是为了快速的开发,有些公共的文件可以使用这扩展,例如数据库的增删改查。这样可以节省开发时间,提高开发效率


四.Yii2面包屑及项目后台样式布置
 面包屑就是在页面上展示的一种标题方式
 样子例如: 首页/用户管理/添加用户
 就在相对应的视图文件中写
 例:      //先打开这个类文件
     use yii\widgets\Breadcrumbs;
   ?>
       //进行修改
   Breadcrumbs::widget([
       'homeLink'=>['label'=>'首页','url'=>['site/index']],
       'links'=>[
           ['label'=>'用户列表','url'=>['user/index','id'=> '1']],
           '添加用户'
       ]
   ])
   ?>
//更多详情参数 参考这个手册
http://www.yiiframework.com/doc-2.0/yii-widgets-breadcrumbs.html


五.执行/引用js和css样式文件
Yii2通过AppAsset.php这个文件来进行加载js和css文件,一般在layouts公共文件中注册使用
AppAsset文件中代码
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';  //硬盘的路径
    public $baseUrl = '@web';       //web相对应的路径
    public $css = [                //引入的css
        'css/site.css',
    ];
    public $js = [                //引入的js
    ];
    public $depends = [           //依赖其他资源包 这里主要是加载顺序
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}
在视图文件中药引用加载js/css代码的类文件
一般都写到公共文件中
use frontend\assets\AppAsset;
AppAsset::register($this);
在视图中可以使用
registerJs()与registerJsFile() 加载js文件
$this->registerJs('alert(1)'); 来执行js代码
在视图中引用外部的js文件
$this->registerJsFile('@web/js/test.js',['depends'=>['路径']]); 这个方法有两个参数 第二个参数主要是有些js代码会依赖与别的js代码,
让他依赖的js代码先加载 然后在执行他自己


加载css文件
registerCss()与registerCssFile() 直接执行/外部引用
例子:直接执行
$this->registerCss('body{background:red}');
外部引用
$this->registerCssFile('@web/css/test.css',['depends'=>['frontend\assets\AppAsset']]);
css样式也一样,也有依赖性,如果你想让你写的样式生效,就依赖这个文件下的css样式,意思就是说加载顺序进行了改变

你可能感兴趣的:(学习总结)