Yii2 自定义 gii 生成器和模板?

Yii2 custom gii generator and template?

我只是根据我对 yii2 的要求实现了一个新的 gii 生成器。 我想知道保存这些代码的最佳位置?

使用自己的生成器 class、视图、模板创建 app\modules\gii 目录。

namespace app\modules\gii;

class MyCustomGenerator extends \yii\gii\generators\crud\Generator
{
    // ...

    public function generate()
    {
        // ...
    }
}

然后在gii配置中启用它。

[
    // ...
    'modules' => [
        'gii' => [
            'class'      => 'yii\gii\Module',
            'generators' => [
                'class' => '\app\modules\gii\MyCustomGenerator',
                'model' => ['class' => '\app\modules\gii\model\MyCustomGenerator'],
            ],
        ],
    ],
]

把自己的 gii 模板放在 app/modules/gii 中没什么好主意。更好的是创建单独的模块。好处:

  • 可以在其他项目中重复使用

  • 如果将它放在 require_dev 下的 composer 中,请不要在生产环境中安装

您需要自定义gii的哪个模块? 如果它是 CRUD 模块,我认为你应该把它放到 app/backend/ 因为它只用于这个应用程序。

这是我的定制:custom crud gii templates

我的文件夹结构:yii2 - custom gii crud templates - folder structure