project コマンド
説明
agaviのprojectコマンドをラップし、S2Container.PHP5/S2Dao.PHP5と連携するためのファイル追加や設定を自動で行います。変更されたファイルの取り扱いについては連携時に自動で変更される設定を参照して下さい。modules/MODULE_NAME以下に追加で作成されるディレクトリはdao/、dicon/、entity/、interceptor/、service/になります。diconディレクトリにはaction名と対応したdiconファイルが作成されます。
実行例
% phing Buildfile: /seasar.php/workspace/s2base.php5/build.xml project > prepare: [php] Evaluating PHP expression: require_once('config/environment.inc.php') [php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php') project > agavi: [phing] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugins/agavi/build.xml' with target 'command' project > command: [php] Evaluating PHP expression: require_once('vendor/plugins/agavi/config/environment.inc.php') [ Command list ] 0 : [ EXIT ] 1 : dao 2 : service 3 : action 4 : module 5 : project choice ? : 5 <--- 5 : project を選択 ProjectFullPath[/seasar.php/workspace/s2base.php5] ? : /Users/seasar <--- 任意のディレクトリをフルパスで入力 (デフォルトはS2Base.PHP5インストールディレクトリ) ModuleName[Default] ? : <---モジュール名を入力(デフォルトはDefault) ActionName[Index] ? : <---アクション名を入力(デフォルトはIndex) ViewName[Input,Success] ? : <---ビュー名を入力(デフォルトはInput,Success) [ generate information ] project path : /Users/seasar module name : Default action name : Index view name : Input,Success confirm ? (y/n) : y <--- 表示される情報を確認 [INFO ] generate agavi project (heavy) : /Users/seasar [INFO ] create : /Users/seasar/webapp/lib/s2agavi [INFO ] create : /Users/seasar/webapp/modules/Default/dao/ [INFO ] create : /Users/seasar/webapp/modules/Default/entity/ [INFO ] create : /Users/seasar/webapp/modules/Default/dicon/ [INFO ] create : /Users/seasar/webapp/modules/Default/interceptor/ [INFO ] create : /Users/seasar/webapp/modules/Default/service/ [INFO ] create : /Users/seasar/tests/modules/Default/dao/ [INFO ] create : /Users/seasar/tests/modules/Default/service/ [INFO ] create : /Users/seasar/www/index.php [INFO ] create : /Users/seasar/webapp/config.php [INFO ] create : /Users/seasar/webapp/modules/Default/dicon/Index.dicon [INFO ] create : /Users/seasar/webapp/lib/s2agavi/TraversalAutoloadConfigHandler.class.php [INFO ] create : /Users/seasar/webapp/lib/s2agavi/s2agavi.php [INFO ] create : /Users/seasar/webapp/lib/s2agavi/S2Base_AgaviController.class.php [INFO ] create : /Users/seasar/webapp/config/autoload.ini [INFO ] create : /Users/seasar/webapp/config/config_handlers.ini [INFO ] create : /Users/seasar/webapp/config/contexts.ini [INFO ] create : /Users/seasar/tests/modules/Default/test.inc.php BUILD FINISHED Total time: 11.1295 seconds
module コマンド
説明
agaviのmoduleコマンドをラップし、autoload.iniにモジュール情報を追記します。modules/MODULE_NAME以下に作成されるディレクトリやファイルはprojectコマンドと同様です。
実行例
% phing Buildfile: /seasar.php/workspace/s2base.php5/build.xml project > prepare: [php] Evaluating PHP expression: require_once('config/environment.inc.php') [php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php') project > agavi: [phing] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugins/agavi/build.xml' with target 'command' project > command: [php] Evaluating PHP expression: require_once('vendor/plugins/agavi/config/environment.inc.php') [ Command list ] 0 : [ EXIT ] 1 : dao 2 : service 3 : action 4 : module 5 : project choice ? : 4 <--- 4 : module を選択 ProjectFullPath[/Users/seasar] ? : <--- プロジェクトのディレクトリをフルパスで入力 (デフォルトはprojectコマンドで入力された情報) ModuleName[Default] ? : Demo <---モジュール名を入力(デフォルトはDefault) ActionName[Index] ? : <---アクション名を入力(デフォルトはIndex) ViewName[Input,Success] ? : <---ビュー名を入力(デフォルトはInput,Success) [ generate information ] project path : /Users/seasar module name : Demo action name : Index view name : Input,Success confirm ? (y/n) : y <--- 表示される情報を確認 [INFO ] generate agavi module : Demo [INFO ] create : /Users/seasar/webapp/modules/Demo/dao/ [INFO ] create : /Users/seasar/webapp/modules/Demo/entity/ [INFO ] create : /Users/seasar/webapp/modules/Demo/dicon/ [INFO ] create : /Users/seasar/webapp/modules/Demo/interceptor/ [INFO ] create : /Users/seasar/webapp/modules/Demo/service/ [INFO ] create : /Users/seasar/tests/modules/Demo/dao/ [INFO ] create : /Users/seasar/tests/modules/Demo/service/ [INFO ] create : /Users/seasar/tests/modules/Demo/test.inc.php [INFO ] create : /Users/seasar/webapp/modules/Demo/dicon/Index.dicon BUILD FINISHED Total time: 11.1295 seconds
action コマンド
説明
agaviのactionコマンドをラップし、対応するdiconファイルを作成します。
実行例
% phing Buildfile: /seasar.php/workspace/s2base.php5/build.xml project > prepare: [php] Evaluating PHP expression: require_once('config/environment.inc.php') [php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php') project > agavi: [phing] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugins/agavi/build.xml' with target 'command' project > command: [php] Evaluating PHP expression: require_once('vendor/plugins/agavi/config/environment.inc.php') [ Command list ] 0 : [ EXIT ] 1 : dao 2 : service 3 : action 4 : module 5 : project choice ? : 3 ProjectFullPath[/Users/seasar] ? : [ Agavi module list ] 0 : [ EXIT ] 1 : Default 2 : Demo choice ? : 2 ActionName[Index] ? : List ViewName[Input,Success] ? : Success [ generate information ] project path : /Users/seasar module name : Demo action name : List view name : Success confirm ? (y/n) : y <--- 表示される情報を確認 [INFO ] generate agavi action : List [INFO ] create : /Users/seasar/webapp/modules/Demo/dicon/List.dicon BUILD FINISHED Total time: 11.1295 seconds
test タスク
説明
agavi タスクの service、dao、goya では、プロジェクトディレクトリ直下の tests ディレクトリにUnitTestを生成します。これらのUnitTestをサブタスクとして実行します。
実行例
phing コマンドのオプション -Dプロパティ名 を使用して、testタスクを呼び出します。プロパティ名は「 st 」です。% phing -Dst=test Buildfile: /seasar.php/workspace/s2base.php5/build.xml project > prepare: [php] Evaluating PHP expression: require_once('config/environment.inc.php') [php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php') project > agavi: [phing] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugins/agavi/build.xml' with target 'test' project > test: [property] Loading /seasar.php/workspace/s2base.php5/var/cache/ag.project.cache ProjectFullPath [/Users/seasar]? <--- プロジェクトのディレクトリをフルパスで入力 (デフォルトはprojectコマンドで入力された情報) ModuleName ? Default <--- モジュール名を入力 TestDirectory [dao,service]? <--- テストするディレクトリを指定(デフォルトはdaoとservice) [foreach] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugins/agavi/build.xml' with target 'doTest' project > doTest: [foreach] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugins/agavi/build.xml' with target 'doTest' project > doTest: IndexServiceImplTest::testA [phpunit2] Testsuite: IndexServiceImplTest [phpunit2] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.00960 sec BUILD FINISHED Total time: 6.9865 seconds