Gii の拡張

Gii の拡張

Gii で生成される Model のテンプレートを日本語向けに拡張してみたくなったので、拡張から導入までやってみたお話。
ちなみに参考にしたのは Yii framework バージョン 1.1.14*1

それに対して拡張したテンプレート

https://gist.github.com/naotawool/6472758
これを、[yourapp\protected\gii\model\templates\extend\model.php] のように配置する。
※ちなみに、templates配下のフォルダ名は何でもOK

導入

その後、main.php の gii の設定に「generatorPaths」を追加する。

'gii'=>array(
    'class'=>'system.gii.GiiModule',
    'password'=>'gii',
    // If removed, Gii defaults to localhost only. Edit carefully to taste.
    'ipFilters'=>array('127.0.0.1','::1'),
    'generatorPaths'=>array(
        'application.gii',
    ),
),

使ってみる

あとは、Gii の画面を開いて、画面下部の「Code Template」から、拡張したテンプレを選択すれば、それが使われる。
(「Code Template」が選択できるのが分かりにくいけど。。実は「Base Class」とかも編集できたりする)

ちなみに今回は「Model」テンプレートの拡張版。
拡張したポイントは以下の 2 つ。

  • クラスの PHPDoc に、プロパティ名に対する論理名を付与(DBのコメント値を表示)
  • インデントを「タブ」から「半角スペース 4 つ」に変更

他に余裕や要望があれば、「Controller」とかも拡張していこうかしら。