BootStrapper

BootStrapperは、phing、phingMaven及びFicusを利用したアプリケーションの初期設定を簡単に行うためのスクリプトです。
簡単に要点だけ記せば、スクリプトをダウンロードしてきて、シェルで

php -f ./bootstrapper.php
と実行するだけで、Webアプリケーションを作るのに最適な

  • アプリケーションディレクトリの作成
  • phingのセットアップ
  • 開発に必要なライブラリのダウンロード
  • 基本ソースコードの作成(index.php、PathInitializer)

までを自動で行います。 (ただしPEARライブラリがインストールされていることが前提です。)

ダウンロード

とりあえずのソースコードはbootstrapper.phpをダウンロードしてください。

実行方法

  • PEARがインストールされていない場合はPEARをインストールします。PEARはgo-pearなどを使ってインストールできます。
  • bootstrapper.phpを実行するとアプリケーション名とそのアプリケーションで使用するプレフィックス名を尋ねられるので入力してください。
  • 途中phing mavenのためのレポジトリ用フォルダ名を尋ねられるのでhoge.phingなどと入力してください。

ディレクトリ構造

生成されるディレクトリ構造は、javaアプリケーションに近いものです。

BootStrapper Dir Ja
# - root[アプリケーション名]
#  |- project.xml ---------------- (phingMaven用、ライブラリの設定など)
#  |- build.xml ------------------ (phing用、ビルドスクリプト)
#  |- deploy.xml ----------------- (phing用、設置スクリプト)
#  |- src ------------------------ (ソースファイル)
#  | |- php ---------------------- (PHPソースファイル)
#  | | |- PathInitializer.php ---- (パスの初期化用スクリプト)
#  | |- conf --------------------- (設定ファイル)
#  | | |- common.ini ------------- (Ficus全体で使われる設定)
#  | | |- logger.ini ------------- (ロガーの設定)
#  | | |- dicon ------------------ (Seasarのdicon)
#  | | | |- app.dicon ------------ (アプリケーションのdicon)
#  | | | |- auto.dicon ----------- (自動生成されるDAOのdicon)
#  | | | |- components21.dtd ----- (SeasarのdiconDTD)
#  | | | |- dao.dicon ------------ (Daoのdicon)
#  | | | |- db.dicon ------------- (データベースの設定)
#  | | | |- pdo.dicon ------------ (PDOの設定)
#  | |- test --------------------- (テスト)
#  | |- webapps ------------------ (ウェブアプリケーション)
#  | | |- index.php -------------- (アプリケーションのエントリポイント)
#  | | |- css -------------------- (CSS)
#  | | |- js --------------------- (Javascript)
#  | | |- images ----------------- (画像)
#  | | |- pages ------------------ (pages 用のクラスファイル)
#  | | | |- IndexPage.php -------- (サンプルクラス)
#  | | |- templates -------------- (pages 用のテンプレートファイル)
#  | |   |- Index.tpl ------------ (サンプルテンプレート)
#  | |- sql ---------------------- (データベースのファイル)
#  |- etc ------------------------ (ソース以外のもの)
#    |- misc --------------------- (いろいろなもの)
#    | |- settings.php ----------- (SuperChargedJavascript用の設定)
#    |- buildfiles --------------- (ビルド時に利用するファイル)
#    | |- deploy-dist.properties - (build.propertiesのデフォルトファイル)
#    | |- build-dist.properties -- (deploy.propertiesのデフォルトファイル)
#    | |- common.properties ------ (全体で利用される設定)
#    | |- setup.xml -------------- (phingセットアップ用のbuild.xml)
#    |- setup -------------------- (phingセットアップ)
#      |- setup.php -------------- (phingセットアップファイル)

という構成で、アプリケーションの雛形が作成されます。

設置

あとは、アプリケーションのルートディレクトリへ移動して、
deploy.propertiesの

build=
に、アプリケーションの設置場所を書き
./phing -f deploy.xml
を実行すると、次のような構成でアプリケーションが設置されます。
-sample
 |-htdocs ------(ドキュメントルート)
 | |-index.php -(アプリケーションのエントリポイント)
 |-src ---------(アプリケーションのソースコード)
 |-lib ---------(ライブラリのパス、Ficus及びFicusの依存ライブラリ
 |                アプリケーションのライブラリを置く場所)
 |-conf --------(設定ファイルを置く場所)
 |-logs --------(ログディレクトリ)

これは、PathInitializerのドキュメントで出てきたディレクトリ構成と同じです。

基本的な開発のプロセスとしては、まずdeployし、deploy先でブラウザを見ながらデバッグを行い、ソースコードに変更を適用して、リポジトリにコミットする感じです。