まっつんチャレンジ OSC出張編 45分でわかる...
description
Transcript of まっつんチャレンジ OSC出張編 45分でわかる...
45分でわかるPHP+Eclipseによるテスト駆動開発環境の構築
Piece Project 松藤秀治 [email protected]
オープンソースカンファレンス2011 Kyoto
まっつんチャレンジ OSC出張編
まっつん
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.dllxdebug.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
[--All Available Sites--]を選択する
“market” と入力する
[Help]→[Install New Software...]
PDT
[--All Available Sites--]を選択する
“php”と入力する
[Help]→[Install New Software...]
MakeGood
“makegood” と入力する
葉っぱのアイコンのMakeGoodをインストールする
[Help]→[Eclipse Markeplace...]
そのほかのプラグイン
必要に応じてプラグインをインストール
EGit
手順PHPのインストール・設定
Xdebugのインストール・設定
Eclipseのインストール
PHPプロジェクトの作成
PEARのインストール
PHPUnitのインストール
PDT, MakeGoodの設定
PHPプロジェクトの作成
ワークスペースにプロジェクトを配置しないように、 [Create project at existing location (from existing source)]を選択する
[File]→[New]→[PHP Project...]
手順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を使おう
@piece_framework Piece Frameworkのニュース
@iteman iteman
@matsu_hide まっつん
PHP for Windowshttp://windows.php.net/
Xdebughttp://xdebug.org/
Eclipsehttp://eclipse.org/
PHPUnitのインストールhttp://www.phpunit.de/manual/3.5/ja/installation.html
参考サイト
MakeGoodhttp://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
関連サイト