PHP8.0へのバージョンアップ始めました
by
ryo takaya
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
PHP8.0へのバージョンアップ始めました
Slide 2
Slide 2 text
自己紹介 ・高谷 遼 (たかや りょう) ・2020年11月にコネヒト株式会社に入社 ・バックエンドエンジニア(PHP) ・PHP歴1年半くらい
Slide 3
Slide 3 text
今日話すこと ● PHP8.0のバージョンアップに向けて全体的な流れ ● スムーズに作業を進められた要因 話さないこと ● PHP8.0の下位互換や新機能の詳細な話し
Slide 4
Slide 4 text
PHPの各バージョンのサポート期間
Slide 5
Slide 5 text
REDチーム🍎 GREENチーム🍏 BLUEチーム🫐 PHP8.1アップデートチーム PHP8.0バージョンアップの開発体制 ・コネヒトはスクラム開発を採用していて、普段は3チームに別れてサービスを開発 ・それぞれのチームから1, 2人を代表者として選出してバージョンアップチームを結成 ・まずは各チームがメインで扱っているリポジトリを 8.0にバージョンアップする 🫐 🍏 🍎
Slide 6
Slide 6 text
バージョンアップに向けて走り出す ● DockerのBaseImageをAlpineから変更した上でPHP8.0にできるかTRY ⚪ 候補 : Ubuntu, php-apache ● 一旦断念🥺 ⚪apacheなどの設定ファイルの修正など重そうで時間がかかりそう ⚪ PHPのサポート期間が切れてしまう ● ひとまずPHPのアップデートを優先する事に
Slide 7
Slide 7 text
影響範囲の調査 ● PHP7.4からPHP8.0の変更差分の調査 ⚪ https://www.php.net/manual/ja/migration80.php ● 自分が担当するプロジェクトの影響範囲の調査 ⚪ PhpStormを使用して非互換性のコードがあるか調べる
Slide 8
Slide 8 text
担当プロジェクトのPHP7.4 -> PHP8.0へのバージョン ・バージョンアップによる非互換性のコードがほぼ無かった ⚪ 自分の担当したコードベースのPHPのコード量は約4万行(規模が大きくないプロジェク ト) ⚪ アプリケーションコードの変更・修正がほぼ無かった(600個以上の単体テストも10個以 下のエラー) ⚪ 非互換性が多く含まれるプロジェクトは修正、動作確認が大変そう... ⚪ 非互換性のコードさえなければアップデートは割と容易
Slide 9
Slide 9 text
実際に行った主な作業 ● PHPライブラリのアップデート ⚪それに伴い使用している箇所のコードや単体テストの修正 ● デッドコードの削除、リファクタリング ● リグレッションテスト(一通りの正常系の動作確認)
Slide 10
Slide 10 text
スムーズに進められた要因 ・プロジェクト間の共通のモジュールの知見共有 ⚪ロギングやエラー通知のモジュールは各プロジェクトで共通のものを使用して いるので、修正箇所を共有して効率的にバージョンアップの作業が進められた。
Slide 11
Slide 11 text
今やっている事、困った事をこまめに投稿する
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
今後の展開 ・PHP8.1にあげきる ・PHP8.2にあげたい ・DockerのBaseImageを修正
Slide 14
Slide 14 text
ありがとうございました!