この記事は「ひとりでカンファレンスふりかえりo0h Advent Calendar 2021」のday-5です。

ひとりでカンファレンスふりかえりo0h Advent Calendar 2021 - Adventar

今日振り返るのは、「Step by Stepで考えるPHP8へのアップグレード」です。 PHP Conference Japan 2021のCfPに応募しました。Regular session (25 mins)の枠になります。

Step by Stepで考えるPHP8へのアップグレード

概要

利用する言語バージョンのアップは、大変だったり大変ではなかったりします。 とりわけPHPは、後方互換性が高いので「意外とすんなり動いた」というケースも多々あるかと思います。その一方で、マイグレーションガイドに書いてあることが、自分の環境やプロダクトにどのくらい影響しそうか・・・?は、実際に手を動かしてみた後にハマる罠になりがちだったりします。

改めてPHP7->8のマイグレーションガイド+αにて言及されいてる変更点をまとめて、主要なFWやライブラリの対応状況だったり、そもそもの「対応状況の調べ方」といったポイントを紹介しようと思いました。 また、移行を少しでも楽で安全にするためにできる工夫は?ということで、静的解析ツール等の活用や、変更箇所の抑制に関するテクニックも紹介できそうです。

「実際に自分が移行をやってみて、どういうステップを踏んだか・何が課題になったか」というお話をしてみるぞ!というプロポーザルでした

tipsとしては、↓の記事も参考にする予定でした

Upgrading a Project to PHP 8.0

動機

カンファレンスの開催時期的にPHP8が(そこそこ)旬だった感じもあり、「現場感のある話、かつ関心もありそうなネタになるんじゃないか?」と思いながら投稿していました。

お手伝いしているプロダクトのバージョンアップを実施していたこと、しかも「なんか今回の移行は、真面目にPHP書いている(※型付け、厳密比較など)プロジェクトだったらすんなりいけそうだぞ!!」と感じられた手応えもあり、自分の中で発表する動機となりました。

特に「型が更にしっかりした」「比較時の挙動が変更された」などは、昨今のPHPの進化の方向性を改めて確認させられるような内容でもありました。