オープンソースカンファレンス
2011 Kyoto

まっつんチャレンジ OSC 出張編

45 分でわかる
PHP+Eclipse による
テスト駆動開発環境の構築
          Piece Project
          松藤秀治 matsufuji2008@gmail.com

           
まっつん

   MakeGood 開発者
   Twitter @matsu_hide
まっつんチャレンジ
   次世代の技術やあまり知られていないが
    高度な技術を紹介
   「チャレンジ」なので結構無謀
   一部で評価



    http://iteman.jp/blog/
Piece Framework

   PHP のアプリケーションフレームワーク
   オープンソースソフトウェア
        New BSD License
        Eclipse Public License
今日の話

   TDD のための環境の構築
   なぜ環境構築の話をしようと思ったか
   スライドは公開します
開発環境と本番環境

   本番環境の多くは Linux
   開発環境も Linux にしよう
   今日は Windows で話します
基本方針
   楽しんで作りましょう
   オールインワン系は使用しない
   OS への依存
      Windows
        → なるべくインストーラのないもの
      Linux


        → パッケージングシステムを使う
   パスは短めに
システムワイドとプロジェクトローカル




ライブラリ (PEAR) 環境をプロジェクトに閉
じ込め、アップグレードや削除の影響を他の
プロジェクトに与えないようにする
ディレクトリ構成 ( 例 )
今回の環境
   Windows XP SP3
   PHP 5.3.6
   Xdebug 2.1.1
   Eclipse Indigo (3.7.0)
   PDT 3.0
   MakeGood 1.6.0
   PHPUnit 3.5.14
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
PHP

   VC6 or VC9, スレッドセーフ
    → HTTP サーバ、動作に合わせて選択
   5.3.6 からは VC9 のみ
php.ini
   php.ini-development を使用
   ~/site-php/config に配置
   Eclipse 用と HTTP サーバ用とに分ける
    → PDT は追加の設定ファイルを読み込まな
    いため、 Eclipse 用の php.ini にはロー
    ドするエクステンションをすべて記述する必
    要がある
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
Xdebug
      PHP と同じビルド環境を選ぶ
      Windows はダウンロードするだけ
      ~/site-php/ext に配置
      ~/site-php/config/php.ini の設定
[xdebug]
zend_extension=C:/cygwin/home/matsu/site-php/ext/php_xdebug-2.1.1-5.3-vc9.dll
xdebug.remote_port=9000
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
Eclipse

   Pleiades は使わない
   Indigo(3.7) から PDT パッケージがなく
    なったので Classic(SDK) パッケージを
    使用する
ワークスペース

   ワークスペースは Eclipse のバージョンご
    とに作り直す
   ワークスペースの命名規則の例
    →パッケージ+バージョン (sdk-3.7.0)
   プロジェクトはワークスペースにコピーしない
Marketplace Client
[Help]→[Install New Software...]


                    [--All Available
                    Sites--] を選択する




                    “market” と入力する
PDT
[Help]→[Install New Software...]


                    [--All Available
                    Sites--] を選択する




                    “php” と入力する
MakeGood
[Help]→[Eclipse Markeplace...]


                     “makegood” と入力する




                     葉っぱのアイコンの
                     MakeGood をインストールす
                     る
そのほかのプラグイン

   必要に応じてプラグインをインストール
        EGit
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
PHP プロジェクトの作成
[File]→[New]→[PHP Project...]



                   ワークスペースにプロジェクトを配
                   置しないように、 [Create
                   project at existing
                   location (from existing
                   source)] を選択する
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
プロジェクトローカルの PEAR 環境
ライブラリのアップグレードや削除の影響を他
のプロジェクトに与えないようにするためにプ
ロジェクト固有の PEAR 環境を構築する
1.vendor ディレクトリを作成する
2.PHP のディレクトリから以下を vendor にコピーする
    ・ go-pear.bat
    ・ pear( ディレクトリ )
3. コマンドラインで go-pear.bat を実行する
4. 途中システムかローカルかのいずれにインストールする
  かを問い合わせてくるので [local] を選ぶ
プロジェクトローカルの PEAR 環境

   フルパスが埋め込まれているため、ほかの環
    境ではメンテナンスできない
   解決方法
    ITEMAN Blog
    「プロジェクトローカルな PEAR 環境を構築
    する」
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
PHPUnit

   PEAR でインストール
   インストール方法はドキュメントを参照
   ドキュメントに従っても環境によってはうまく
    インストールできない場合があるが、メッセー
    ジに従って依存するライブラリをインストール
    していけば問題ない
手順
 PHP のインストール・設定
Xdebug のインストール・設定
 Eclipse のインストール
 PHP プロジェクトの作成
  PEAR のインストール
 PHPUnit のインストール
PDT, MakeGood の設定
PDT の実行環境とデバッガ

   PDT ではひとつの実行環境に対してひとつ
    のデバッガを指定する
   デバッガには Xdebug か Zend
    Debugger を指定できる
   デフォルトの設定としてデバッガとそのデバッ
    ガを使用できる実行環境を設定する
テスト環境の構築
ResultSqure をダブルクリックして
MakeGood ビューを開く




ResultSqure       MakeGood ビュー
テスト環境の構築
テストを実行できない場合、 MakeGood ビュー
にその理由が表示されるので、そのメッセージに
従うと比較的容易に環境を構築できる
テスト環境の構築

   PHP の実行環境を設定する
   [Window]→[Preferences...]
   [PHP]→[PHP Executables]
   [Add...] ボタンで実行環境を追加する
テスト環境の構築
PHP の実行ファイル、設定ファイル、 SAPI のタ
イプ、デバッガをそれぞれ設定する
テスト環境の構築

   使用するデバッガを選択する
   [Window]→[Preferences...]
   [PHP]→[PHP Debug]
テスト環境の構築
デフォルトのデバッガと使用する実行環境を
選択する
テスト環境の構築

   MakeGood の設定を行う
   プロジェクトを右クリックして
    [Properties...]
   [MakeGood]
テスト環境の構築
テスティングフレームワークやプリロードスク
リプト、テストディレクトリを設定する
テストの実行
まとめ

   楽しんで作りましょう
   オールインワン系は使用しない
   常に工夫する
   Linux を使おう
   MakeGood を使おう
Twitter
   @piece_framework
      Piece Framework のニュース
   @iteman
      iteman
   @matsu_hide
        まっつん
参考サイト
   PHP for Windows
    http://windows.php.net/
   Xdebug
    http://xdebug.org/
   Eclipse
    http://eclipse.org/
   PHPUnit のインストール
    http://www.phpunit.de/manual/3.5/j
    a/installation.html
参考サイト
   MakeGood
    http://redmine.piece-
    framework.com/projects/makegood
   ITEMAN Blog 「プロジェクトローカルな PEAR
    環境を構築する」
    http://iteman.jp/blog/2009/04/pear
    -1.html
関連サイト
   GitHub
        http://github.com/piece
   Piece Framework プロダクトページ
        http://redmine.piece-framework.com
   MakeGood プロダウトページ
        http://redmine.piece-
          framework.com/projects/makegood

まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築