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.
すべてのジェネレータのフォームには 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 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' => [ // ここ
'crud' => [ // ジェネレータの名前
'class' => 'yii\gii\generators\crud\Generator', // ジェネレータ・クラス
'templates' => [ //setting for out templates
'myCrud' => '[@app](https://github.com/app)/myTemplates/crud/default', // テンプレート名 => テンプレートへのパス
]
]
],
];
}
CRUD ジェネレータを開くと、フォームの Code Template のフィールドに、あなた自身のテンプレートが出現するようになっています。
How can I help you explore Laravel packages today?