メニュー

ドキュメント

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

service コマンド

説明

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


dao コマンド

説明

 daoコマンドを参照して下さい。生成先はプロジェクトディレクトリ内になります。


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