Yii2 如何自定义 gii 模版

博客 · 本文由 · ITer · 发布于 1月前 · 156 阅读

yii2是一个快速开发的框架,其中gii扩展不得不说是一个很大的助力,通过gii自动生成代码,把一些通用的代码交给程序去生成,很大程度上减少开发者的时间成本。但gii也有一些弊端,那就是生成的代码是yii2自带的模板,每次生成的代码并不是我们想要的,因而每次都要去对应的做调整。

那么如何才能让程序生成我们想要的代码呢?没错,yii2的gii扩展是支持自定义模板的,通过自定义模板我们就可以让gii生成我们想要的代码,又一次节约了去修改生成模板的时间成本。

配置

gii生成器所用到的模板文件位于目录 vendor\yiisoft\yii2-gii\generators\crud\default,我们既然要自定义模板,最好是在原有的模板基础下做调整。

1.复制一份模板,拷贝default目录,放在任意位置,此处我们放置在根目录 /backend/giitpl/crud 中。

2.修改模板(本文为教程不做细说,此处自行修改即可)

3.打开配置文件 /backend/config/main-local.php 修改$config['modules']['gii']的配置(如下):

$config['modules']['gii'] = 
[
    'class' => 'yii\gii\Module',
    'allowedIPs' => ['127.0.0.1', '::1'],
    'generators' => [
        'crud' => [ //生成器名称
            'class' => 'yii\gii\generators\crud\Generator',
            'templates' => [ //设置我们自己的模板
                //模板名 => 模板路径
                'myCrud' => '@backend/giitpl/crud/default',
            ]
        ]
    ],
];

4.通过gii生成代码,打开gii界面,使用crud generator生成代码(注:此处配置要修改code template模板)

选择我们自定义的模板,然后点击生成,那么gii自定义的模板代码就生成好了。

总结

通过自定义gii模板,我们能够更加灵活快速的完成需要的功能,把许多相似度高,应用场景多,功能类似(比如:列表页,详情页等)的代码做成gii的模板,通过程序去生成。还是那句话yii2就是一个快速开发的框架。

成为第一个本话题的爱慕者吧

评论数量:0