PHP カンファレンス2017に行ってきました

PHP カンファレンス2017に行ってきました

毎年春と秋はいつまでも寝ていられそうな気がする kagata です。

さて、若干旧聞ですが、さる10月8日(日)に東京は蒲田で PHP カンファレンス2017が開催されました。今年も参加してきましたので今回はその報告です。

PHPの今とこれから2017

まずは毎年恒例の、廣川類さんのセッションです。

PHP の各バージョンについて

PHP7.2 の改善点

  • さらなる高速化が図られる
  • 引数や戻り値の型宣言に汎用の object 型が指定できるようになる
  • セキュリティ機能が強化される
    • デフォルトのパスワードハッシュ関数が Blowfish から Algon2に変更。時間・空間計算量や並列度を柔軟に設定できるようになる
    • Libsodium による認証付き暗号を 標準で サポート
      「近代的な暗号機能を標準サポートする最初のプログラミング言語」
    • php.ini でのエクステンションロードに拡張子がつかなくなる
      → .so か .dll か考えなくてよくなる。環境非依存!

Hack/HHVM について

  • PHP5サポートは2018年1月リリース予定の3.24(LTS)が最後
  • PHP7の完全互換は目指さない方針
    • Composer など周辺のツールについては hack/HHVM 専用のものを出す
    • JIT のパフォーマンス向上のため、相性の悪いデストラクタとリファレンスを廃止する

PHP の今後の展開

  • 年末にかけて PHP7.3の開発が始まる
  • 従来の OPcache にかわって、Lua の JIT エンジンを採用した JIT for PHP が導入される

所感

来場者の半分くらいはすでに PHP7 を普段使いしているとのことで、昨年と比べるとずいぶん普及が進んだようで驚きました。とはいえ、もともとのスケジュールでは今月をもって PHP5は EOL を迎えていたわけで、妥当な動きではあります。

弊社の案件ではたいてい PHP5.6、ときどき5.4という感じで、7の案件はまだまだこれからといったところです。弊社から能動的にバージョンを選択できるような案件では、積極的に7を選んでいきたいと思っています。

PHP7を選ぶメリットとしては、よくいわれるパフォーマンスのほかに「型に厳密なコーディングスタイルがとれる」という点があります。この点が実は「型に厳密な言語をやってきたメンバーを新たに迎えやすい」という人材面でのメリットにもつながるかも…と最近ちょっと思ったりしています。そう思うと PHP7.2で追加されるという object 型はなんだか逆行しているというか八方美人な感じがするのですが、どんなコーディングスタイルにも使えるように、という方針なんでしょうか。

そんなことから午後の新原さんのセッションにもすごく興味があったのですが、今回は後述のとおり OSS Gate のほうに行ってました。

OpenID Connectを通じてWebアプリケーション技術とPHPによる実装を学ぼう

Yahoo! Japan の倉林さんによる、OpenID Connect の解説です。

OpenID Connect は、認可(AuthZ)処理についての仕様として普及している OAuth2.0 を土台に、認証(AuthN)とユーザー属性取得の機能を追加したものです。

OpenID Connect の仕様を追うと Web アプリケーションの要素技術がひととおりおさらいできる…というお話でしたが、実際 HTTP 通信と BASIC 認証、CSRF やリプレイ攻撃への対策、JSON Web Token(略して JWT と書き「じょっと」と読む)の仕様などさまざまなトピックスに話がつながっていておもしろい題材でした。

認証と認可は違います、OAuth は認可のほうですよ、という話を改めてきいて「ああ認証と認可はきちんと区別しないといけないな、“OAuth 認証” なんて口が裂けても言ってはいけないな」との気持ちを新たにしたのですが、あとから調べてみると「認証か認可かって主語を何にするかによって変わってくるよね」という話もあるようで、頭の痛いことです。

あわせて読みたい:単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる | @_Nat Zone

OSS Gate workshop

今回は午後のふつうのセッションをまるまるすっとばして、OSS Gate のワークショップに参加していました。PHP カンファレンスなんだからハンズオンもいいけどセッションを聴きにいかないともったいないんじゃないの、みたいな思いもあったのですが、物珍しさのほうを優先して(?)参加してきました。

結果これがたいへんおもしろくて気づきもいろいろあったのですが、話が長くなりそうなのと宿題がまだ終わっていない(!)ので、こちらの報告は宿題を終えてから機会を改めてやろうと思います。

ライトニングトーク

今年もいろいろなお話がありました(雑)。どらが鳴りそうでハラハラする局面がなかったような気がしたのですが、どこかに控えていたのでしょうか。わたしの席からはよくわかりませんでした。

個人的にひかれたのは Swagger のお話でした。わたしが API サーバをたてて fujihara が書いた React アプリとつなぐ、という案件が弊社ではときどきあります。うまく API 仕様を共有して、fujihara と仲良くしたいと思いました。

あと、いつも思うんですが IoT ものは LT 映えしますね。

むすび

PHP カンファレンス2017の参加報告を、午前のセッションを中心にお送りしました。来年は12月15日だそうですよ。今から楽しみです。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ