私自身、プログラミングは好きなんですがあまり現代の流行の技術に興味がありません(汗)
IT業界はドッグイヤーならぬ、マウスイヤーとも呼ばれているようで、常に最新技術の動向には目を光らせていく必要があります。
ただし、技術のメリット・デメリットを理解しておくことがそれ以上に大事であることは言うまでもありませんが・・・
今回はPHPのモダンな開発環境について。
Contents
プログラミング環境
PHPBrew
使ったことないっす。
PHPのバージョン管理ツールでようはPHP5.3と5.6を使い分けたいとかそういった用途で使われるものらしいです。Rubyなんかでは聞いたことがありますね。
PHP5.3だと配列の書き方で[]が通用しなくて、これ修正するのに一度書き直したりとかしてましたっけ。こういう時にバージョンを切り替えたりできたら確かに便利ですね。
phpenvやphpbrewの雑な比較
PHPのバージョン管理はphpbrewが使いやすいです
ビルトインサーバー
テスト環境のみで使える簡易的なWEBサーバー。
通常PHPの開発ではapacheやnginxなどのサーバーを立てることが多いと思いますが、5.4以降ではPHPに内蔵されているWebサーバーがあるためこれを使えば簡単な動作確認などが楽になるようです。
ローカルマシンの開発サーバとしてPHPビルトインサーバを使う
デバッガ Xdebug
これを使うことで
var_dumpを見やすくしたり、スタックトレースを見ることができます。個人的にはスタックトレースの見方が変わるのが便利。
ユニットテスト PHPUnit
テストコードを書いたりするときに便利。が、個人的には結構使えるケースが限られるためあんまり使ってないです・・・
PHPの単体テストを自動化したかったので、phpunitを試してみた。
パッケージ管理やライブラリ
PEAR
一昔前ではPHPのライブラリといえばこれでした。まあ今でも多くの現場では使っていると思いますが・・すたれつつある理由としては、依存関係がらみでエラーがでてしまうことや古いバージョンを使ったりするとまともに動かないものが多いことですかね。
現状では積極的には使わないほうがよい、とされているようです。
これを解消するために後述するComposerが使われています。
Composer
PHPの依存関係の管理ツールでようはyumのようにパッケージ間の依存関係を解消してライブラリをインストールできるツールと認識しています。
これをつかい設定ファイルにphpのバージョンやインストールしたいライブラリのバージョンなどを書いておくと、依存関係を解消して取り込んでくれます。
また複数ファイルを読み込むときにいちいちプログラムのトップにrequireを書くのではなく、自動的にrequireを行うオートローダーという仕組みを利用することでこれを解決しています。
composer 導入をまじめに考える
参考資料
WEB+DB 2014年5月号
全然、最新じゃないじゃん!と言われそうですが、保守的な開発現場の場合、5年ぐらい前の技術がスタンダードだったりしますんで1年半から2年遅れぐらいの技術が個人的にはちょうどいいと思っています(笑)
最新技術は大切だと思いますが、意味もなく次々に新しい技術を摂取するのも問題だと思っています。