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

LaravelでのAPI実装

Laravelで外部からAPI叩いてデータ入力みたいなことをしたかったのでこれを機に勉強。認証とかを通してないのでそのまま公開すると危険です・・(汗) 参考リンク [PHP] Laravel5.6で、 …

no image

Shift_JISの5C問題について 全角ハイフンでエスケープ

エンジニアであればだれもが頭を悩ませる文字コード。 私も初期のころはこれのせいでデータが入らないとかおかしくなるなんてことがさんざんありました。 今でも文字コードに遭遇することはあるんですが大体のパタ …

no image

cakePHPでのCSVダウンロード

cakePHPにてCSVのダウンロードなんぞを。 以前このエントリーでCSVダウンロードに関しては取り扱ったのですが、 ボタンを押す ファイルダイアログが開く パスを選ぶ 意図したデータを正常にダウン …

no image

phpdocument

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

no image

コード静的解析ツールを使った際の気づきなど

最近のプロジェクトでコード静的解析ツール(phpcs,phpmd)を使った際の気づきなど コードを書きながら常時エディタがチェックするタイプのものでないとまず無理(保存するたびでも無理だし、コミット時 …

アーカイブ