PHP カンファレンス2015で PHP7の話をきいてきました #phpcon2015
『仮面ライダーゴースト』の第1話をまだみていない kagata です。ちょうど放映時刻に外出する用事があってタイマー録画したのですが、なんだかもったいない気がして手がつけられていません。第2話の放映までにはチェックします。
さて、その第1話放映の前日にあたる10月3日(土)に PHP カンファレンス2015が開催されました。今回のテーマはずばり「7」の一文字ということで、正式リリースが来月にも予定される PHP7の話題が多く取り上げられました。今回は当日参加したセッションについてご報告します。
参加したセッション
一部迷いつつ、以下のセッションを選びました。
- PHP の今とこれから 2015
- Composer で始めるアプリケーション開発
- 超高速 WordPress ~ PHP7 vs HHVM vs PHP5.6 ~
- Rasmus Lerdorf による基調講演 “Speeding up the Web with PHP7”
- いまどきの PHP 開発現場 -2015年秋-
- PHP デプロイツールの世界
PHP の今とこれから 2015
PHP カンファレンスではおなじみ、廣川類さんの講演です。今回は序盤に PHP5系のバージョン別シェアの話があったあと、PHP7の内容が詳しく紹介されました。
- PHP7は PHP5.6の2倍くらい速くなる
- スカラー型宣言や戻り値の型宣言が導入される
- 致命的エラーが例外として捕捉できるようになる
などなど。また、PHP5系から7へ移行するにあたって障壁になりそうなのが、ややこしい変数構文がすべて左優先で解釈されるようになるという変更とのことでした。トリッキーなコードの多いプロダクトでは、ちょっと悩むことになるかもしれませんね。一方それ以外の変更については互換性の問題になりにくく、PHP5系からの移行は比較的容易でないかとの話もありました。
Composer で始めるアプリケーション開発
PHP の依存関係管理ツール Composer の歴史や使い方の初歩の解説でした。くわしい内容は演者の岸田さんがご自身のブログにまとめていらっしゃったので、そちらをご覧ください。ちょうど最近プロジェクトに導入し始めたところだったので、たいへん参考になりました。あと、聴衆の中にも Composer をバリバリ使いこなしているという人はまだ少なかったようで、少しほっとしました(?)。がんばってキャッチアップしよう。
そのほか、心に残ったのは次のようなあたりでした。
- PHP: The Right Way を読んだという人が思ったより少なかった…おすすめです!
- 「
__autoload()
を使ったことがある人なんてめったにいないですよね」という話がありましたが、すみませんぼく使ったことあります…。といっても PHP5.0の時代にオートロードを実装する先進的エンジニアだったわけではなく、単に勉強が中途半端でspl_autoload_register()
のことを知らない時期があっただけなので、はずかしくて挙手できませんでした。
超高速 WordPress ~ PHP7 vs HHVM vs PHP5.6 ~
WordPress 界隈でおなじみプライム・ストラテジー株式会社さんのスポンサー枠講演。
表題から想像していたのは
「PHP7や HHVM で WordPress を動かす方法」
みたいなことだったのですが、主にはパフォーマンスチューニングの基本的な考え方や PHP アクセラレータ、MySQL クエリキャッシュなどなど PHP5系環境でも通用するお話でした。
で、最後のほうで PHP7や HHVM だとこんなに速いですよ、というお話が出たのですが、今の WordPress って PHP7や HHVM 環境でそうすんなり動作するんでしょうか。そのあたり、演者の中村さんに聞いてみたかったのですが会場でお声掛けできずじまいでした。自分でやってみろという展開ですね。
あとは、時間がなくてはしょられてしまったページキャッシュや Transient API のお話も聞いてみたかったところです。ページキャッシュの実装方法(プラグインの紹介じゃなくて)とか、Transient による高速化のノウハウ(API の使い方くらいはもう知ってるので)とか、WordCamp ではあまりやらないようなゴリゴリの技術的トピックが PHP カンファレンスで聴けたらおもしろいだろうなあと思います。
Rasmus Lerdorf による基調講演 “Speeding up the Web with PHP7”
PHP の生みの親である Rasmus Lerdorf が生で見られるというので、主にミーハーな気分で参加してきました。スライドは talks.php.net に掲載されています。こんなのあったんだ。
話題は主に PHP7のことで、先の廣川さんの講演とかぶっている感じがありました。ただ、PHP7の高速化を裏付けるさまざまな PHP アプリケーションでの計測データを繰り出す Rasmus の姿には、やはり PHP7といえばとにかく高速化なんだなと感じました。WordPress が最も重要なベンチマークになっているなど言語開発者ならではの話も聞けたし、PHP7は HHVM をよほど目の敵にしているらしいこともわかった(!?)し、貴重な機会でした。あと、質疑応答のかみあってるんだかかみあってないんだかよくわからないお茶目な雰囲気も、ちょっとおもしろかったです。
言語構造が今後しばらく大きく変わらないのであれば、アプリケーション開発者にとっては新バージョンに手を出しやすい状況が続くことになるのかもしれません。とはいえ、Rasmus 本人は「もし自分が PHP の開発者ならすぐには移行しない」みたいなことを言っていて「廣川さんと言ってることが違う」なんて思ったりもしました。また、エクステンションとかを作っている人には受難の時期なのかも…と空想してみたり。
いまどきの PHP 開発現場 -2015年秋-
PHP 開発環境のお話。「2015年秋」と銘打たれてはいますが、今期出てきた新物というよりはかなり普及してきたツールたちのおさらいみたいな雰囲気でした。詳しい内容は[演者の新原さんがブログにまとめていらっしゃいます]()。
そんな中で、近年の PHP アプリケーションフレームワークはコンポーネント指向のものが主流になりつつあるというお話が心に残りました。CakePHP なんてモノリシックなフレームワークの代表みたいな認識でいたのですが、Cake も最近は違ってきているらしいです。仕事で使っていないフレームワークもいろいろ動かしてみないと。
PHP デプロイツールの世界
当日いちばん度肝を抜かれたのがこのセッションでした。
この前の枠の開発環境セッションに続いて
「PHP のデプロイツールにはこんなのがあるよ。開発フローにはこんなふうに組み込んだらいいよ」
というお話がきけるものと思いきや、デプロイツールの実装に必要なコマンドラインでの処理や並列・非同期な処理を PHP でいかに実装するかというお話でした。それはそれでたいへんおもしろかったのですが、完全に虚を衝かれてしまいました。Twitter の実況タイムラインも、このセッションでは少し静かだったような気がします…。
あとでプログラムを見返してみたら、そういう内容だとちゃんと書いてありましたね。
いくつかのPHP製デプロイツールを元に、
ツールの背景やコマンド実行までのアプローチの違いなど、
コマンドラインで実行されるHTTPとはまた違った世界を紹介します。
人の話はちゃんと聴きましょう。
まとめ
以上、参加したセッションのご報告でした。各セッションの動画は Japan PHPConference の YouTube チャンネルで公開されています。参加できなかったセッションもあとでみてみよう。公開済みスライドまとめも参考にさせていただきました。ありがとうございます。