スクールアイドルです

冷やし中華はじめました

PHP BLT #1 で PHP7 の拡張について話してきた #phpblt

speakerdeck.com

相変わらずの英語スライド+5分という時間に詰め込みすぎだったので多少補足。

75% のコードが変更になるというのは平均であり、PHP の内部 API に対する依存度によってかなり上下する。PHP の内部 API に依存しない拡張であれば、運がよければそのまま PHP7 に移行できるし、内部 API にべったりの依存だと9割ぐらいの書き換えが必要になったりする。

(特に内部 API べったりだと) #if (PHP_MAJOR_VERSION >= 7) でコードを分岐させて PHP5/7 に対応させるという策を選ぶと、コード量がそのまま倍になるために、あまり現実的ではない。だから PHP7 ブランチを作るのがセオリーとされている。

いろいろ一気に変わっている割にこの辺ドキュメントが未整備だったりするので、拡張のレベルで Python2/3 みたいな関係性になる可能性も感じられ少々不安要素がある。早いうちに拡張の PHP7 移行のベストプラクティスみたいなのが出揃って、よってたかってドカドカ直していける環境が作れるとよいなと思った。そのためにも引き続き「Upgrade PHP extensions from PHP5 to NG」は定期的に確認が必要そう。

Roppongi.aar と2週にわたってメルカリさんにはお世話になりました。メルカリさん最高!