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

Criando seus próprios modelos (templates)

Cada gerador tem um campo no formulário chamado Code Template que permite que você escolha um modelo (template) a ser usado para geração de código. Por padrão o Gii apenas fornece um template default mas você pode criar seus próprios modelos (templates).

Se você abrir a pasta [@app](https://github.com/app)\vendor\yiisoft\yii2-gii\generators, você verá seis pastas de geradores.

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

Esse são os nomes dos geradores. Se você abrir qualquer uma delas, você verá a pasta default, que é o nome do modelo (template).

Copie a pasta [@app](https://github.com/app)\vendor\yiisoft\yii2-gii\generators\crud\default para outro local, por exemplo [@app](https://github.com/app)\myTemplates\crud\. Agora abra essa pasta e modifique qualquer modelo (template) para atenderem suas necessidades, por exemplo, adicione um errorSummary em views\_form.php:

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

    <?= "<?php " ?>$form = ActiveForm::begin(); ?>
    <?= "<?=" ?> $form->errorSummary($model) ?> <!-- ADDED HERE -->
    <?php foreach ($safeAttributes as $attribute) {
        echo "    <?= " . $generator->generateActiveField($attribute) . " ?>\n\n";
    } ?>
//...

Agora você precisa informar ao Gii sobre nosso modelo (template). A configuração deve ser feita no arquivo de configuração:

// config/web.php for 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' => [ //here
            'crud' => [ // generator name
                'class' => 'yii\gii\generators\crud\Generator', // generator class
                'templates' => [ //setting for out templates
                    'myCrud' => '[@app](https://github.com/app)/myTemplates/crud/default', // template name => path to template
                ]
            ]
        ],
    ];
}

Abra o gerador de CRUD e você verá que no campo 'Code Template` do formulário aprece a opção do seu modelo (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