メニュー

ドキュメント

action コマンド

説明

 action コマンドは、アクション名に対して命名規則に従いアクションメソッド、ダイコンファイル、html テンプレートを作成します。 アクション名が「 hello 」の場合、アクションメソッドは helloAction、ダイコンファイルは helloAction.dicon、html テンプレートは hello.html となります。 アクションメソッドは、アクションコントローラに「/** S2BASE_PHP5 ACTION METHOD **/」コメントが記述されている箇所に追加されます。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 1               <--- 1 : action を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

action name ? : foo

[ generate information ]
  module name           : default
  controller name       : index
  controller class name : IndexController
  action name           : foo
  action method name    : fooAction
  action dicon file     : fooAction.dicon
  action template file  : foo.html

confirm ? (y/n) : y
[INFO ] modify : /seasar.php/workspace/s2base.php5/app/modules/default/IndexController.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/view/foo.html
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/dicon/fooAction.dicon
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/validate/foo.ini

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

dao コマンド

説明

 S2Dao で必要な dao インタフェース、entity クラス、dao コンポーネント定義済みの dicon ファイル、テストクラスを生成します。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 2                 <--- 2 : dao を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

use database ? (y/n) : y     <--- データベースのテーブル一覧を取得します。

[ table list ]
0 : (exit)
1 : CD
2 : DEPT
3 : EMP
4 : SHELF
choices ? (1,2,--,) : 1      <--- 複数のテーブルを選択した場合は、先頭のテーブルが Entity の
                                  テーブルに使用されます。残りのテーブルのカラムが Entity のプロパティに追加されます。
dao interface name [CdDao]? :

entity class name ? [CdEntity] :

[ generate information ]
  module name          : default
  controller name      : index
  dao interface name   : CdDao
  dao test class name  : CdDaoTest
  entity class name    : CdEntity
  table name           : CD
  columns              : ID, TITLE, CONTENT
  dao dicon file name  : CdDao.dicon

confirm ? (y/n) : y
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/dao/CdDao.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/entity/CdEntity.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/test/modules/default/index/dao/CdDaoTest.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/dicon/CdDao.dicon

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

entity コマンド

説明

 S2Dao で用いる Entity クラスを作成します。columns でカンマ区切りのカラム名を入力すると、対応するプロパティとアクセッサメソッドを追加します。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 4                 <--- 4 : entity を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

use database ? (y/n) : y     <--- データベースのテーブル一覧を取得します。

[ table list ]
0 : (exit)
1 : CD
2 : DEPT
3 : EMP
4 : SHELF
choices ? (1,2,--,) : 2,3    <--- 複数のテーブルを選択した場合は、先頭のテーブルが Entity の
                                  テーブルに使用されます。残りのテーブルのカラムが Entity のプロパティに追加されます。

entity class name ? [DeptEntity] :

[ generate information ]
  module name          : default
  controller name      : index
  entity class name    : DeptEntity
  table name           : DEPT
  columns              : DEPTNO, DNAME, LOC, VERSIONNO, EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM

confirm ? (y/n) : y
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/entity/DeptEntity.class.php

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

goya コマンド

説明

 goya コマンドはアクション名を決めると、命名規則に従ってアクションメソッドの追加、サービス、dao、enitity、ダイコンファイル、テストクラスを生成します。 actionコマンド、service コマンドと dao コマンドを同時に実行することとほぼ同じ処理になります。 例えばサービス名を「 cdList 」とすると、アクションメソッドは cdListAction、サービスクラスは CdListService、dao クラスは CdListDao、entity クラスは CdListEntitiy となります。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 4                 <--- 4 : goya を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

action name ? : goya

use dao ? (y/n) : y

use database ? (y/n) : y     <--- データベースのテーブル一覧を取得します。

[ table list ]
0 : (exit)
1 : CD
2 : DEPT
3 : EMP
4 : SHELF
choices ? (1,2,--,) : 3      <--- 複数のテーブルを選択した場合は、先頭のテーブルが Entity の
                                  テーブルに使用されます。残りのテーブルのカラムが Entity のプロパティに追加されます。

dao interface name [GoyaDao]? :

entity class name ? [GoyaEntity] :

[ generate information ]
  module name             : default
  controller name         : index
  action name             : goya
  format action name      : Goya
  action method name      : goyaAction
  action dicon file name  : goyaAction.dicon
  action template file    : goya.html
  service interface name  : GoyaService
  service class name      : GoyaServiceImpl
  service test class name : GoyaServiceImplTest
  service dicon file name : GoyaServiceImpl.dicon
  dao interface name      : GoyaDao
  dao test class name     : GoyaDaoTest
  entity class name       : GoyaEntity
  table name              : EMP
  columns                 : EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO

confirm ? (y/n) : y
[INFO ] modify : /seasar.php/workspace/s2base.php5/app/modules/default/IndexController.class.php
・・・
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/entity/GoyaEntity.class.php

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

interceptor コマンド

説明

 S2Aop の MethodInterceptor を実装するクラスを生成します。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 5                 <--- 5 : interceptor を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

interceptor class name ? : HogeInterceptor

[ generate information ]
  module name            : default
  controoler name        : index
  interceptor class name : HogeInterceptor

confirm ? (y/n) : y
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/interceptor/HogeInterceptor.class.php

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

model コマンド

説明

 Zend_Db_Table クラスを継承した model クラスとそのテストクラスを生成します。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 6                 <--- 6 : model を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

use database ? (y/n) : y

[ table list ]
0 : (exit)
1 : CD
2 : DEPT
3 : EMP
choice ? : 1

model interface name ? [CDModel] :

model class name ? [CDModelImpl] :

[ generate information ]
  module name          : default
  controller name      : index
  table name           : CD
  primary key          : ID
  model interface name : CDModel
  model class name     : CDModelImpl

confirm ? (y/n) : y
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/model/CDModelImpl.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/model/CDModel.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/test/modules/default/index/model/CDModelImplTest.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/dicon/CDModelImpl.dicon

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

module & controller コマンド

説明

 module & controller コマンドはモジュールディレクトリにアクションコントローラとそのコントローラディレクトリを作成します。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 7               <--- 7 : module & controller を選択

[ Module list ]
0 : (exit)
1 : (new module)           <---Zend Controller のモジュール機能を使用しない場合は
2 : default                    default を選択します。
choice ? : 2

controller name ? : index

[ generate information ]
  module name               : default
  controller name           : index
  controller class name     : IndexController
  controller interface name : IndexService

confirm ? (y/n) : y
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/
・・・
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/view/index.html

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

service コマンド

説明

サービスインタフェース、実装クラス、ダイコンファイル、テストクラスを生成します。

実行例

% phing zf
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
project > command:

[ Command list ]
0 : (exit)
1 : action
2 : dao
3 : entity
4 : goya
5 : interceptor
6 : model
7 : module & controller
8 : service
choice ? : 8                 <--- 8 : service を選択

[ Module list ]
0 : (exit)
1 : default
choice ? : 1

[ Controller list ]
0 : (exit)
1 : index
choice ? : 1

service interface name ? : BarService

implements IndexService ? (y/n) : y

service class name ? [BarServiceImpl] :

[ generate information ]
  module name               : default
  controller name           : index
  service interface name    : BarService
  implements module service : Yes (IndexService)
  service class name        : BarServiceImpl
  service test class name   : BarServiceImplTest
  service dicon file name   : BarServiceImpl.dicon

confirm ? (y/n) : y
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/service/BarServiceImpl.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/service/BarService.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/test/modules/default/index/service/BarServiceImplTest.class.php
[INFO ] create : /seasar.php/workspace/s2base.php5/app/modules/default/index/dicon/BarServiceImpl.dicon

[ Command list ]
0 : (exit)
・・・
choice ? : 0

BUILD FINISHED

Total time: 17.7941 seconds
%

UnitTest タスク

説明

 S2Base コマンドの service、dao、goya、model では、UnitTestが生成されます。これらの UnitTest を実行するタスクです。 テストの実行は、phing コマンドを サブタスク( -Dst )を指定して実行します。

実行例

% phing zf -Dst=test
Buildfile: /seasar.php/workspace/s2base.php5/build.xml
・・・
    [phing] Calling Buildfile '/seasar.php/workspace/s2base.php5/vendor/plugs/zf/zf.xml' with target 'test'

project > prepare:

      [php] Evaluating PHP expression: require_once('vendor/plugins/zf/config/evironment.inc.php')

project > test:

     [echo] test directory : test/
     [echo] test target : **/*Test*.php
GoyaDaoTest::testA

 [phpunit2] Testsuite: GoyaDaoTest
 [phpunit2] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.03941 sec
GoyaServiceImplTest::testA

 [phpunit2] Testsuite: GoyaServiceImplTest
 [phpunit2] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.02663 sec

BUILD FINISHED

Total time: 3.6707 seconds
%