Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Yii2 Gii Laravel Package

yiisoft/yii2-gii

Gii is Yii2’s web-based code generator. Rapidly scaffold models, CRUD, controllers, forms, and modules with templates you can customize. Speeds up development and enforces consistent structure, with an extensible generator system for your own blueprints.

View on GitHub
Deep Wiki
Context7

创建自定义模版

每个生成器都有一个表单字段 Code Template ,它允许您选择一个模板用于代码生成。 默认情况下, Gii 只提供一个模板 default ,但你可以创建自己的模板,以适应不同的需求。

在文件夹 [@app](https://github.com/app)\vendor\yiisoft\yii2-gii\generators 下, 可以看到有6个文件夹,分别对应了不同的代码生成器。

+ controller
- crud
    + default
+ extension
+ form
+ model
+ module

文件夹的名字是生成器名称。 打开每一个文件夹,都可以看到 default 文件夹,这就是模版的名称。

将文件夹 [@app](https://github.com/app)\vendor\yiisoft\yii2-gii\generators\crud\default 复制到另一位置,例如 [@app](https://github.com/app)\myTemplates\crud\。 打开文件夹,并进行修改,例如: 在 views\_form.php 文件中添加 errorSummary :

<?php
//...
<div class="<?= Inflector::camel2id(StringHelper::basename($generator->modelClass)) ?>-form">

    <?= "<?php " ?>$form = ActiveForm::begin(); ?>
    <?= "<?=" ?> $form->errorSummary($model) ?> <!-- 在这里添加 -->
//...

然后修改配置文件,让 Gii 根据我们自己的模版进行代码生成:

// config/web.php 基于 基础模版应用( basic app )
// ...
if (YII_ENV_DEV) {    
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',      
        'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20', '172.16.0.0/12'],  
        'generators' => [ //这里配置生成器
            'crud' => [ // 生成器名称
                'class' => 'yii\gii\generators\crud\Generator', // 生成器类
                'templates' => [ //配置模版文件
                    'myCrud' => '[@app](https://github.com/app)/myTemplates/crud/default', // 模版名称 => 模版路径
                ]
            ]
        ],
    ];
}

打开 CRUD 生成器,你会看到在字段 Code Template 的表单中显示自己的模板。

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium