PHP8.0へのバージョンアップ始めました
by
ryo takaya
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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
ありがとうございました!