- 2012-08-03 (金) 12:00
- PHP
さて夏がやってきました。夏と言えばPHPということで、昨年に引き続き、最近のPHP事情をご紹介。
1. PHP5.4リリース
PHP5.4が2012年3月にリリースされました。
Traits や Short array syntax(配列の短縮構文)、array dereferencing(foo()[0]) などのPHP言語拡張、PHPコマンドで起動するビルトインサーバ、そしてパフォーマンスの改善など大きな変更が加えられています。
言語自体の機能追加も注目ですが、ビルトインサーバは多くの人にとってメリットになるでしょう。これを使えばPHPアプリケーションの動作確認のためにApacheやnginxなどのhttpdサーバを自分のPCに入れる必要はありません。
下記のようなコマンドを打つだけで、ビルトインサーバが起動します。新しいフレームワークやライブラリ、アプリケーションを試してみたい時に手軽に使えるのが嬉しいですね。
$ php -S localhost
2012/08/01の最新版は PHP5.4.5 となっています。これから新たにPHPアプリケーションを構築する際は、5.4で動作することを確認しておいた方が良いですね。
PHP 5.4.0 Release Announcement
PHP 5.3.x から PHP 5.4.x への移行
PHP5.4 Advent Calendar 2011
2. PHP標準コーディング規約 PSR–0 / PSR–1 / PSR–2
PHP コミュニティで標準的なコーティング規約が提唱されます。これが PSR–0 / PSR–1 / PSR–2 です。
これまでも PEAR や各フレームワークでそれぞれ独自のコーティング規約が使われていましたが、PHP として標準的なコーティング規約が出来たというのは初めてのような気がします。
すでにいくつかのフレームワークやライブラリはこの規約に従って書かれています。
PHPコードの書き方に迷っている人は一度目を通しておくと良いでしょう。
なお、この規約は提唱されているだけで、従わないといけないということではありません。ただ、できるだけ合わせた方が、多くの人にとって使いやすく、読みやすいコードになることは間違いありません。
PSR–1 / PSR–2 に合わせてコードを自動で修正するツールもあります。
PHPソースをコーディング規約に合わせて修正してくれるPHP Coding Standard Fixer
The PHP Coding Standards Fixer for PSR–1 and PSR–2
3. パッケージ管理システム Composer
PHP のパッケージ管理システムには PEAR があるのですが、現状は新たなパッケージがあまり増えず、盛り上がっているとはいえない状況です。(個人的には PHPUnit 系専用になっています)
そんな PEAR に代わって、盛り上がっているのが Composer です。
PEAR に比べて、導入も簡単ですし、パッケージも手軽に公開できるので、対応パッケージが増えています。
おそらく今後フレームワークやライブラリを導入する際は自然と触ることになると思うので、一度使い方を見ておくとよいでしょう。
Composer
PHPの外部ライブラリの管理にComposerを使う | Ryuzee.com
Composerの使い方を調べたメモ(1) – k-holyのPHPメモ
4. PHP The Right Way
ここまで紹介してきたようなPHPに関する情報を網羅したサイトが登場しました。それが「PHP The Right Way」です。
今風のPHPを使うにあたって参考になる情報が紹介されています。元は英語サイトなのですが、有志によって和訳されていますので、ぜひ一度見てみて下さい。
5. フレームワーク事情
最後に最近気になるフレームワークなどを。
5–1. CakePHP2 / CakePHP3
CakePHP2が2011年12月に正式にリリースされました。最新版は2.2.1です。
これから CakePHP をはじめる人は迷うこと無く 2 系からはじめましょう。
日本語情報が少ないという声もありますが、公式マニュアル(cookbook)の和訳も進んでいっていますし、2 に対応した書籍も登場してきています。実は執筆に関わっている書籍が来月あたりに出版されるので乞うご期待!
CakePHP
Security Release – CakePHP 2.1.5 & 2.2.1
さらに次期バージョンのCakePHP3の概要が発表されています。CakePHP3はPHP5.4以上を対象としており、新たなCakePHPとして進化しそうです。
3.0: a peek into CakePHP’s future
5–2. FuelPHP
巷で今一番注目されているフレームワークといえばFuelPHPでしょう。
FuelPHPは、PHP5.3以上で動作するCodeIgniterライクな軽量なフレームワークです。規約より設定を重視しており、設定でフレームワークの挙動が変えられるのは、ある意味PHPらしいです。
これからフレームワークを触ってみたいという人にも学習しやすく、パフォーマンスも良いのでアクセスが見込まれるサイトでも使い勝手が良さそうです。
すでに日本語で良質の書籍が2冊登場していますので、FuelPHPに興味がある人は手にとってみて下さい。
FuelPHP › A simple, flexible, community driven PHP5.3 framework
5–3. BEAR.Sunday
こちらも今、注目されているフレームワークです。
リソース指向のフレームワークとされていて、動作対象がPHP5.4以上という最新鋭のフレームワークです。また作者が日本人(@koriym さん)というのも大きな特徴でしょう。
FuelPHPが実用のフレームワークとして注目されているとすれば、BEAR.Sundayは学習のフレームワークとして注目されているように感じます。
現在は開発途中ということで、実用するのはまだ先かもしれませんが、個人的には一度じっくりと触ってみたいフレームワークです。
koriym/BEAR.Sunday
manual – bearsunday – BEAR.Sundayマニュアル – PHP 5.4 Resource oriented framework
次はPHP5.5?
次のPHPであるPHP5.5では、さらに言語を拡張して、ジェネレータやリスト内包表記などPythonのような記法を取り入れる提案がされています。
まだ実装されるかは分かりませんが、PHPはその時流行っている言語の良い所を取り入れる特徴があるので、PHPの新機能を見ると言語の流行りが見えるかもしれませんね。