メニュー

ドキュメント

動作環境

依存ライブラリは次になります。個別にPEARインストールを行います。

  • symfony-1.0.8
  • PHPUnit-3.1.9
  • s2container.php5-1.2.0
  • s2dao.php5-1.1.2


インストール

 Symfonyのプラグインとしてインストールします。

% cd /path/to/symfony/project
% symfony plugin-install sfS2BasePlugin-version.tgz
>> plugin    installing plugin "plugins\sfS2BasePlugin-version
>> pear      install ok: channel://__uri/sfS2BasePlugin-version
%
% symfony plugin-list
Installed plugins:
 sfS2BasePlugin               version   # __uri (__uri)
 symfony                      version   # pear.symfony-project.com (symfony)
%
% symfony -T
・・・
task aliases:
・・・
  s2app                      = pake s2_init_app
  s2dao                      = pake s2_init_dao
  s2module                   = pake s2_init_module
  s2service                  = pake s2_init_service
  s2test                     = pake s2_phpunit_test
%
%

コマンド

s2app

コマンドリファレンス

% symfony s2app アプリケーション名

説明

 symfony付属のappコマンドを実行した後に、次のsfS2BasePlugin用のカスタマイズを行います。

  • アプリケーションディレクトリのconfig/factories.ymlを編集します。フロントコントローラクラスとして、sfS2BasePlugin_FrontWebControllerクラスを使用する設定とします。
    all:
      controller:
        class: sfS2BasePlugin_FrontWebController
    
  • アプリケーションディレクトリのlib/ディレクトリに sfS2BasePlugin_FrontWebController.class.php ファイルを用意します。
  • プロジェクトディレクトリのconfig/autoload.ymlを編集します。S2Container.PHP5とS2Dao.PHP5の設定を追加します。Symfony、S2Container.PHP5、S2Dao.PHP5 が PEARインストールされている場合の設定となります。
    autoload:
      s2container:
        name:           S2Container
        ext:            .class.php
        path:           "%SF_SYMFONY_LIB_DIR%/../S2Container/S2Container"
      s2dao:
        name:           S2Dao
        ext:            .class.php
        path:           "%SF_SYMFONY_LIB_DIR%/../S2Dao/S2Dao"
    
  • プロジェクトディレクトリの lib/ディレクトリに dao.dicon、pdo_prod.dicon、pdo_dev.dicon、pdo_test.diconを用意します。
  • プロジェクトディレクトリの data/s2base/ディレクトリに Sqlite データベースの sample.db データベースファイルを用意します。
  • テストディレクトリの unit/ディレクトリに アプリケーション名のディレクトリを作成します。
  • プロジェクトディレクトリの model/ディレクトリに dao、entity ディレクトリを作成します。

s2module

コマンドリファレンス

% symfony s2module アプリケーション名 モジュール名

説明

 symfony付属のmoduleコマンドを実行した後に、次のsfS2BasePlugin用のカスタマイズを行います。

  • モジュールディレクトリに service、dao、entity ディレクトリを作成します。
  • test/unit/ディレクトリにモジュール名のディレクトリを作成し、service、dao ディレクトリを作成します。
  • アプリケーションディレクトリの conf/autoload.yml にモジュールディレクトリに作成した service、dao、entityを追記します。 モジュール名 admin で作成した場合の追加される設定は次になります。
    autoload:
      admin_service:
        name:           admin_service
        ext:            .class.php
        path:           "%SF_ROOT_DIR%/apps/%SF_APP%/modules/admin/service"
      admin_dao:
        name:           admin_dao
        ext:            .class.php
        path:           "%SF_ROOT_DIR%/apps/%SF_APP%/modules/admin/dao"
      admin_entity:
        name:           admin_entity
        ext:            .class.php
        path:           "%SF_ROOT_DIR%/apps/%SF_APP%/modules/admin/entity"
    
  • S2ContainerApplicationContextの設定を行う actions.inc.php をモジュールディレクトリ/actions/ディレクトリに用意します。
  • actions.class.php に actions.inc.php をrequireする設定を追記します。

s2service

コマンドリファレンス

% symfony s2service アプリケーション名 モジュール名 サービスクラス名

説明

 アプリケーションのロジックなどを実装する service クラスを作成します。

  • サービスクラスとそのUnitTestクラスを作成します。
  • symfony キャッシュをクリアします。

s2dao

コマンドリファレンス

% symfony s2dao アプリケーション名 モジュール名 テーブル名 [環境指定] [Daoクラス名]

% symfony s2dao アプリケーション名 モジュール名 "テーブル名,テーブル名・・・" [環境指定] [Daoクラス名]
  • テーブル名
    テーブル名はカンマ区切りで複数のテーブルを指定できます。1番目のテーブルがEntityクラスのテーブル指定に使用されます。2番目以降のテーブルについては、カラム情報がEntityクラスに反映されます。
  • 環境指定
    symfonyの環境を指定します。この値に従ってプロジェクトディレクトリ/config/ディレクトリのpdo.diconが使用されます。 デフォルト値は [prod] です。
  • Daoクラス名
    Daoクラス名が指定されると、Daoクラス、Entityクラスのクラス名に反映されます。デフォルト値にはテーブル名が使用されます。

説明

 S2Dao.PHP5で使用する DaoクラスとEntityクラスを作成します。

  • Daoクラス、EntityクラスとDaoクラスのUnitTestクラスを作成します。
  • symfony キャッシュをクリアします。

s2test

コマンドリファレンス

% symfony s2test アプリケーション名 テストパターン
  • アプリケーション名
    UnitTestを実行するアプリケーション名。s2testではアプリケーションごとにUnitTestを実行します。
  • テストパターン
    UnitTestファイル名に対するパターンマッチに使用するパターン。パターンにマッチしたUnitTestが実行されます。デフォルト値は「.*Test」です。

説明

 テストディレクトリのunitディレクトリ以下のPHPUnit_Test_Caseを実行します。テスト実行前にテストディレクトリのbootstrap/functional.phpファイルをrequireします。