init-* コマンド
説明
symfony タスクでは、symfonyのinit-project/init-app/init-moduleコマンドをラップし、S2Containerと連携するための設定を自動で行います。
自動で設定される項目は下記になります。
- /path/to/project/config/config.php - 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/ディレクトリを生成
init-project コマンド
説明
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 ] 1 : clear-cache 2 : dao 3 : dicon 4 : init-* 5 : service choice ? : 4 <--- 4 : 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 <--- 表示される情報を確認
init-app コマンド
説明
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 : dicon 4 : init-* 5 : service choice ? : 4 <--- 4 : 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 <--- 表示される情報を確認
init-module コマンド
説明
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 : dicon 4 : init-* 5 : service choice ? : 4 <--- 4 : 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 <--- 表示される情報を確認
dicon コマンド
説明
action用のdiconファイルを生成します
実行例
% 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 : dicon 4 : init-* 5 : service choice ? : 3 <--- 3 : dicon を選択 ProjectFullPath[/Users/seasar/s2base.php5/s2symfony] ? : <--- プロジェクトディレクトリをフルパスで入力 [ sf application list ] 0 : (exit) 1 : demo 2 : euro choice ? : 2 <--- アプリケーション名を選択 [ sf module list ] 0 : (exit) 1 : rock choice ? : 1 <--- モジュール名を選択 action name ? : index <--- アクション名を選択 [ generate information ] project path : /Users/seasar/s2base.php5/s2symfony application name : euro module name : rock action name : index action dicon file name : IndexAction.dicon confirm ? (y/n) : y <--- 表示される情報を確認
dao コマンド
説明
daoコマンドを参照して下さい。生成先はモジュールディレクトリ内になります。
gen-dao タスクで生成したdao及びentityクラスを利用するには/path/to/project/config/config.php内のコメントアウトされている項目を有効にすることで利用可能となります。
test タスク
説明
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