skillup

技術ブログ

PHP

PHPの開発事情 (PHPBrew/ビルトインサーバー/Xdebug/PHPUnit/Composer)

投稿日:2016年4月23日 更新日:

私自身、プログラミングは好きなんですがあまり現代の流行の技術に興味がありません(汗)

IT業界はドッグイヤーならぬ、マウスイヤーとも呼ばれているようで、常に最新技術の動向には目を光らせていく必要があります。

ただし、技術のメリット・デメリットを理解しておくことがそれ以上に大事であることは言うまでもありませんが・・・

今回はPHPのモダンな開発環境について。

プログラミング環境

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を見やすくしたり、スタックトレースを見ることができます。個人的にはスタックトレースの見方が変わるのが便利。

Xdebug によるスタックトレースの機能拡張

ユニットテスト PHPUnit

テストコードを書いたりするときに便利。が、個人的には結構使えるケースが限られるためあんまり使ってないです・・・

PHPの単体テストを自動化したかったので、phpunitを試してみた。

パッケージ管理やライブラリ

PEAR

一昔前ではPHPのライブラリといえばこれでした。まあ今でも多くの現場では使っていると思いますが・・すたれつつある理由としては、依存関係がらみでエラーがでてしまうことや古いバージョンを使ったりするとまともに動かないものが多いことですかね。

現状では積極的には使わないほうがよい、とされているようです。

これを解消するために後述するComposerが使われています。

Composer

PHPの依存関係の管理ツールでようはyumのようにパッケージ間の依存関係を解消してライブラリをインストールできるツールと認識しています。

これをつかい設定ファイルにphpのバージョンやインストールしたいライブラリのバージョンなどを書いておくと、依存関係を解消して取り込んでくれます。

また複数ファイルを読み込むときにいちいちプログラムのトップにrequireを書くのではなく、自動的にrequireを行うオートローダーという仕組みを利用することでこれを解決しています。
composer 導入をまじめに考える

参考資料

WEB+DB 2014年5月号

全然、最新じゃないじゃん!と言われそうですが、保守的な開発現場の場合、5年ぐらい前の技術がスタンダードだったりしますんで1年半から2年遅れぐらいの技術が個人的にはちょうどいいと思っています(笑)

最新技術は大切だと思いますが、意味もなく次々に新しい技術を摂取するのも問題だと思っています。

-PHP

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

cake3でのバッチスクリプト

以前、cakeでのバッチをこちらのエントリーで書きましたが、今回は3系でのバッチの書き方について。 といってもほとんど同じですが・・・ Contents1 ディレクトリ2 ソース ディレクトリ src …

no image

PHPでのPDF出力 テーブル

PDFで何かを出力する場合、ほとんどが納品書や請求書などの帳票でしょう。 これらもfpdfで出力することができます。 Contents1 ソース2 参考リンク ソース [crayon-61722102 …

no image

inotifyによる検知

以前、pynotifyというpythonの検知プログラムを書きましたが、元々はinotifyというLinux上のパッケージのライブラリが元になっています。 以前調べたリンク 監視検知処理に関して 実務 …

no image

phpdocument

今回はphpのdocument生成ツールについて。 Contents1 phpdocument1.1 インストール1.2 使い方1.3 参考リンク phpdocument https://www.ph …

no image

jenkinsでのPHPのCIに関して

PHPでのjenkinsに関して。 PHPでのjenkinsといっても基本Javaなどと変わらないと思います。 何らかのトリガーでjenkinsのjobをビルド(一連のタスク)させる ビルドの内容はソ …