ようやくMacで開発環境が作れるようになった北村聡士 @satooshi_jpです。

PHPも5.4がリリースされてずいぶん経ちますが、未だに5.3しか使えないレンタルサーバーやら、クラウド環境があったりするので、両方インストールできるようにして、さらに簡単に切り替えられるようにします。

パッケージ管理にはHomebrewを

昔(大昔?)はMacのパッケージ管理といえばfinkだったんですが、最近はMacPortsとかHomebrewを使うのが流行らしいですね。どちらも似たようなことが出来るみたいですが、僕はHomebrewを選択しました。

phpenvでPHPのバージョン切り替えが簡単に!

今まではWindowsでApacheのconfファイルを手で書き直して5.4 <-> 5.3の切り替えをしたりしてましたが、phpenvというツールがあるようなので、これを使います。元々はRuby用のrbenvというツールがあって、それをPHP用に変えたものらしいです。内部的には、rbenvを使っているそうで、ヘルプを表示させるとrbenv 0.3.0と表示されたりします。php-versionというツールもHomebrewにありましたが、phpenvの方がインストールも使い方も簡単でした。

php-buildで最新版PHPを楽々インストール

PHPのインストールにはphp-buildというツールを使います。これを使うとAPCxdebugも一緒にビルドしてくれる優れもの!xhprofにも対応してるらしいですね(APCとxhprofはmaster版で対応。現時点での最新版0.8.0は未対応)。ありがたや。WindowsだとAPCのコンパイルが面倒くさくて、どっかから拾ってきたモジュールを使ってましたが、php-buildのおかげで簡単に導入できるようになります。ちなみにapache用モジュールは別のシェルスクリプトで切り替えるようにします。

Jenkinsで継続的インテグレーション

CIサーバーはJenkinsを使います。ソースコード管理にはbitbucketを使っているので、travis-ciは非対応でした。なのでJenkinsをインストールしてCIします。ジョブはphp-templateをほぼ流用します。

Composer? pyrus? PEAR?

PHPプロジェクトをビルドするのに必要なライブラリやらツールのインストール・管理方法はいくつかあります。標準はPEARですが、現在新しくpyrusが登場してます。まだアルファ版のためか、PHPエラーが頻発したり、pyrusに非対応のツール(phpmd)があったため、今回は見送りました。またComposerも試してみましたが、設定が多く、PEARパッケージの管理がうまくできなかった(試すのも面倒くさくなった汗)ため、こちらも見送りました。おとなしくPEARを使います。

まとめ

開発に必要なもの

管理・ビルドツール

CI用ツール

  • phpunit
  • phpcpd
  • phploc
  • phpmd
  • phpcb
  • phpdox
  • pdepend
  • phpcs

実は必要なかったもの

  • Composer - composer未対応なものが多かったため、結局pyrus or PEARが必要
  • pyrus - pyrus 2.0に対応していないパッケージがあった(phpmd)ため、PEARにした

次回以降、インストール方法の詳細について書いていきます。