説明
symfony タスクでは、symfonyのinit-project/init-app/init-moduleコマンドをラップし、S2Containerと連携するための設定を自動で行います。
自動で設定される項目は下記になります。
- /path/to/project/config/config.php - S2Containerと連携するための基本設定
- /path/to/project/config/autoload.yml - S2Container/S2Daoの読み込み設定
- /path/to/project/apps/APP/lib/myFrontWebController.class.php - アプリケーションがS2Containerを呼び出すためのクラス
- /path/to/project/apps/APP/config/autoload.yml - モジュールのdaoやserviceクラス読み込み設定
- /path/to/project/apps/APP/modules/MODULE以下にdao/, dicon/, entity/, service/ディレクトリを生成
説明
symfonyとS2Containerを連携させたプロジェクトを生成します。アプリケーションとモジュールも同時に生成します。
実行例
% phing
Buildfile: /Users/seasar/s2base.php5/build.xml
[php] Evaluating PHP expression: require_once('lib/S2Dao/src/phing/task/S2DaoSkeletonTask.php')
project > prepare:
[php] Evaluating PHP expression: require_once('config/environment.inc.php')
[php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php')
project > symfony:
[phing] Calling Buildfile '/Users/seasar/s2base.php5/vendor/plugins/symfony/build.xml' with target 'command'
project > command:
[php] Evaluating PHP expression: require_once('vendor/plugins/symfony/config/environment.inc.php')
[ Command list ]
0 : (exit)
1 : clear-cache
2 : dao
3 : init-*
4 : service
choice ? : 3 <--- 3 : init-* を選択
[ symfony commands list ]
0 : (exit)
1 : init-app
2 : init-module
3 : init-project
choice ? : 3 <--- 3 : init-project を選択
ProjectFullPath[/Users/seasar/s2base.php5/s2symfony] ? : <--- プロジェクトディレクトリをフルパスで入力
ProjectName ? : s2sf <--- プロジェクト名を入力
ApplicationName ? : demo <--- アプリケーション名を入力
ModuleName ? : frontend <--- モジュール名を入力
[ generate information ]
project path : /Users/seasar/s2base.php5/s2symfony
project name : s2sf
application name : demo
module name : frontend
confirm ? (y/n) : y <--- 表示される情報を確認
説明
S2Containerと連携されたアプリケーションとモジュールを生成します。init-appを行うためにはinit-projectコマンドでプロジェクトディレクトリが生成済みである必要があります。
実行例
% phing
Buildfile: /Users/seasar/s2base.php5/build.xml
[php] Evaluating PHP expression: require_once('lib/S2Dao/src/phing/task/S2DaoSkeletonTask.php')
project > prepare:
[php] Evaluating PHP expression: require_once('config/environment.inc.php')
[php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php')
project > symfony:
[phing] Calling Buildfile '/Users/seasar/s2base.php5/vendor/plugins/symfony/build.xml' with target 'command'
project > command:
[php] Evaluating PHP expression: require_once('vendor/plugins/symfony/config/environment.inc.php')
[ Command list ]
0 : (exit)
1 : clear-cache
2 : dao
3 : init-*
4 : service
choice ? : 3 <--- 3 : init-* を選択
[ symfony commands list ]
0 : (exit)
1 : init-app
2 : init-module
3 : init-project
choice ? : 1 <--- 1 : init-app を選択
ProjectFullPath[/Users/seasar/s2base.php5/s2symfony] ? : <--- プロジェクトディレクトリをフルパスで入力
ApplicationName ? : euro <--- アプリケーション名を入力
ModuleName ? : jazz <--- モジュール名を入力
[ generate information ]
project path : /Users/seasar/s2base.php5/s2symfony
application name : euro
module name : jazz
confirm ? (y/n) : y <--- 表示される情報を確認
説明
S2Containerと連携されたモジュールを生成します。init-module行うためにはinit-appコマンドで生成されたアプリケーションディレクトリが必要です。
モジュールを追加すると、/path/to/project/apps/APP/config/autoload.ymlにモジュール情報を追記します。
実行例
% phing
Buildfile: /Users/seasar/s2base.php5/build.xml
[php] Evaluating PHP expression: require_once('lib/S2Dao/src/phing/task/S2DaoSkeletonTask.php')
project > prepare:
[php] Evaluating PHP expression: require_once('config/environment.inc.php')
[php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php')
project > symfony:
[phing] Calling Buildfile '/Users/seasar/s2base.php5/vendor/plugins/symfony/build.xml' with target 'command'
project > command:
[php] Evaluating PHP expression: require_once('vendor/plugins/symfony/config/environment.inc.php')
[ Command list ]
0 : (exit)
1 : clear-cache
2 : dao
3 : init-*
4 : service
choice ? : 3 <--- 3 : init-* を選択
[ symfony commands list ]
0 : (exit)
1 : init-app
2 : init-module
3 : init-project
choice ? : 2 <--- 2 : init-module を選択
ProjectFullPath[/Users/seasar/s2base.php5/s2symfony] ? : <--- プロジェクトディレクトリをフルパスで入力
[ sf application list ]
0 : (exit)
1 : demo
2 : euro
choice ? : 2 <--- アプリケーション名を選択
ModuleName ? : rock <--- モジュール名を入力
[ generate information ]
project path : /Users/seasar/s2base.php5/s2symfony
application name : euro
module name : rock
confirm ? (y/n) : y <--- 表示される情報を確認
説明
symfonyのclear-cacheコマンドをラップし、プロジェクトのキャッシュを削除します。
説明
serviceコマンドを参照して下さい。生成先はモジュールディレクトリ内になります。
説明
daoコマンドを参照して下さい。生成先はモジュールディレクトリ内になります。
gen-dao タスクで生成したdao及びentityクラスを利用するには/path/to/project/config/autoload.yml内のコメントアウトされている項目を有効にすることで利用可能となります。
説明
symfony タスクの service、dao、goya では、プロジェクトディレクトリ直下の test ディレクトリにUnitTestを生成します。これらのUnitTestをサブタスクとして実行します。
実行例
phing コマンドのオプション -Dプロパティ名 を使用して、testタスクを呼び出します。プロパティ名は「 st 」です。
% phing -Dst=test
Buildfile: /Users/seasar/s2base.php5/build.xml
[php] Evaluating PHP expression: require_once('lib/S2Dao/src/phing/task/S2DaoSkeletonTask.php')
project > prepare:
[php] Evaluating PHP expression: require_once('config/environment.inc.php')
[php] Evaluating PHP expression: require_once('lib/S2Base/S2Base.cmd.php')
project > symfony:
[phing] Calling Buildfile '/Users/seasar/s2base.php5/vendor/plugins/symfony/build.xml' with target 'test'
project > test:
[property] Loading /Users/seasar/s2base.php5/var/cache/sf.project.cache
ProjectFullPath [/Users/seasar/s2base.php5/s2symfony]? <--- プロジェクトのディレクトリをフルパスで入力
AppName ? euro <--- アプリケーション名を入力
ModuleName ? jazz <--- モジュール名を入力
TestDirectory [dao,service]? <--- テストするディレクトリを指定(デフォルトはdaoとservice)
project > doTest:
[foreach] Calling Buildfile '/Users/seasar/s2base.php5/vendor/plugins/symfony/build.xml' with target 'doTest'
jazzServiceImplTest::testA
[phpunit2] Testsuite: jazzServiceImplTest
[phpunit2] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.00960 sec
BUILD FINISHED
Total time: 6.9865 seconds
|