PHP

PHP7.0がでたので、いまどきの「普通」のPHPの話。

More than 1 year has passed since last update.

去年のアドベントカレンダーではMongoDBの話をしましたが、今年はPHPの話。

PHPの「現在位置」

PHPが5から7へのメジャーバージョンアップをついに果たしました。(6が欠番になった経緯などは割愛)
そこで、いまだに5.2とか5.3あたり、またはそれ以前の印象で語ってる人も居そうなので、改めて「PHPの普通」を確認していきましょう。

そもそもあなたPHPの何を知っていると言うんですか

今年はPHP5.6でフルスクラッチの小物サービスをリリースしましたし、古いバージョン(具体的には言えない)のサービスの保守を今も慎ましやかに続けていたりしています。
それはさておき。

いつ PHP を書きましたか?バージョンは?

各バージョンのリリース日は以下のとおり。
- 2012/03/01 Version 5.4.0
- 2013/06/20 Version 5.5.0
- 2014/08/28 Version 5.6.0
- 2015/12/03 Version 7.0.0 (new!)

そしてサポート終了は以下
- 2015/09/03 Version 5.4
- 2016/06/10 Version 5.5
- 2017/08/28 Version 5.6
- 2018/12/03 Version 7.0

はい、あと半年でPHP5.5のサポートが切れます。最低限PHP5.6を前提としていない話は「今の」PHPの話としては不適切となります。

今のPHPを語るのに不可欠なキーワード

  • PHP Standards Recommendations(PSR)
  • composer
  • 5.3の新機能
    • ネームスペース
    • クロージャー
  • 5.4の新機能
    • トレイト
    • short array syntax ($a = []; って書き方)
    • ビルトインwebサーバ
  • 5.5の新機能
    • ジェネレータ
    • finally節
  • 5.6の新機能
    • ... による可変個引数関数
    • 2ギガバイトより大きいサイズのファイルのアップロード
  • 7.0の新機能
    • 返り値の型宣言
    • fatal errorの多くがThrowableに

いろいろ変わってるんですよ、ええ。普通にオブジェクト指向できるしかなり安全な言語になってきています。標準関数がアレなのは変わらないですが。

本を読んでPHPを勉強したい

amazonで"PHP プログラミング"と検索した結果 色んな本が出てきますが、「今のPHP」を学ぶという意味においては2014年以前の本では不足と言えるでしょう。現時点で決定版といえるものは無いようなので、これからPHP7を前提とした良書が出るのを期待します。

古い情報に惑わされないために読んだほうが良いweb上の資料(参考資料)

時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。