説明
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
説明
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
説明
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
説明
serviceコマンドを参照して下さい。生成先はプロジェクトディレクトリ内になります。
説明
daoコマンドを参照して下さい。生成先はプロジェクトディレクトリ内になります。
説明
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
|