メニュー

ドキュメント

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         <--- 表示される情報を確認

clear-cache コマンド

説明

 symfonyのclear-cacheコマンドをラップし、プロジェクトのキャッシュを削除します。


service コマンド

説明

 serviceコマンドを参照して下さい。生成先はモジュールディレクトリ内になります。


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