generatorの使い方

きちんとプロジェクトサイトの方にも書きますが、まずはこちらに簡単な説明を書きます。
generatorは配布ファイル展開後の script/generate.php になります。使用するにはCLI版のPHPが必要なので、4.3.0以降が必要となります。(内部的に php_sapi_name == 'cli' なんてチェックをしてますので、4.2以前のcgi版をコマンドラインでつかっていただくということはできないです)

generatorは以下のパターンで実行します。generator名で指定するものとしてまずはsimple/action/component という3つのものを作成しています。

  /path/to/php script/generate.php [generator名] [generatorに対する引数] ・・・
  • simple generator

simple generatorは以下のように実行します。

  /path/to/php script/generate.php simple [action名] [entry名] 
    • 「action名」にMaple命名規則に従って指定すると「Actionファイル」「maple.iniファイル」「テンプレートファイル」を生成します。(action名は必須)
    • 「entry名」を指定すると htdocs 以下に 「htdocs/[entry名].php」ファイルを生成します。(entry名は省略可)

実行例としては以下のようになります。

  % php script/generate.php simple test_form test
    [create]  /home/maple/webapp/modules/test/form/Test_Form.class.php
    [create]  /home/maple/webapp/modules/test/form/maple.ini
    [create]  /home/maple/webapp/templates/test/form.html
    [create]  /home/maple/htdocs/test.php
  • action generator

action generatorは以下のように実行します。

  /path/to/php script/generate.php action [action名] [templateタイプ] [template名] [entry名] 
    • 「action名」にMaple命名規則に従って指定すると「Actionファイル」を生成します。(Actionファイルのみを出力したい場合は、これ以降の引数は指定しない)
    • 「templateタイプ」「template名」を指定すると「maple.iniファイル」「テンプレートファイル」を生成します。templateタイプは smarty/flexy/simple の3つを指定可能。(temlate名を省略するとaction名が内部的に補完される)
    • 「entry名」を指定すると htdocs 以下に 「htdocs/[entry名].php」ファイルを生成します。(entry名は省略可。template名を省略してentry名だけ指定ということはできない)

実行例としては以下のようになります。

  % php script/generate.php action test_form2 smarty test_form2 test2
    [create]  /home/maple/webapp/modules/test/form2/Test_Form2.class.php
    [create]  /home/maple/webapp/modules/test/form2/maple.ini
    [create]  /home/maple/webapp/templates/test/form2.html
    [create]  /home/maple/htdocs/test2.php

上記の実行結果を見てもらえば分かりますが、simple generator はtemplateタイプ smarty、template名はaction名と同じという状態の action generator の簡易版です。

  • component generator

component generatorは以下のように実行します。

  /path/to/php script/generate.php component [component名]
    • 「component名」にMaple命名規則に従って指定すると「Componentファイル」を生成します。(component名は必須)

実行例としては以下のようになります。

  % php script/generate.php component test.logic
    [create]  /home/maple/webapp/components/test/Test_Logic.class.php

現状のgeneratorは既に作成済みのファイルに対しては上書きは行いません。高度なgeneratorをつくっていく場合は上書き時の確認等も必要になるかもしれないかとは思っています。