Slide 1

Slide 1 text

© Cake.jp Co.Ltd. All Right Reserved.|Confidential 2023/12/13
 
 レガシーからモダンへ?
 PHP5.6からの脱却
 
 山内 啓輔


Slide 2

Slide 2 text

2 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自己紹介 山内 啓輔 やまうち  けいすけ 担当業務 カテゴリーページ、検索機能など 🍰おすすめスイーツ 元祖かぼちゃプリン 約1.2kg かぼちゃ感が強く、甘さが控えめで美味し い! 付属のカラメルをかけることで甘さもアップ カテゴリページ 検索機能

Slide 3

Slide 3 text

3 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 今日話す内容 1.  PHPバージョンアップの歴史 2.  どんなことをしているか 3.  大変なこと 4.  工夫ポイント 5.  チームワークって大事 6.  まとめ

Slide 4

Slide 4 text

4 © Cake.jp Co.Ltd. All Right Reserved.|Confidential バージョンアップの歴史 前提 弊社にはECサイトと管理画面の2つの環境がある 事前準備 テスト環境のDocker化(2023/07〜2023/08) 単一のサーバーで二つの環境を動かしているので、 PHPのバージョン違いが許されない バージョンアップ ・PHP7.0(2023/09) ・PHP7.1(2023/11) ・PHP7.2(2023/12) 参考:PHP 5.6.x から PHP 7.0.x への移行 ECサイト 管理画面(店舗用)

Slide 5

Slide 5 text

5 © Cake.jp Co.Ltd. All Right Reserved.|Confidential どんなことをしているか ・Dockerfileの書き換え 主にPHPバージョンの変更 ・CI(Github Actions)の書き換え 次のバージョン用のファイルを作成 ・各種ライブラリのバージョン上げ composer.jsonを書き換える ・既存コードの書き換え 公式の情報を元に、使用できなくなる関数などを修正 ・動作確認

Slide 6

Slide 6 text

6 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 大変なこと ・コードの修正量が多い 対応しないとFatal Errorになるケースは多くないが、 Warningなどもなるべく対応している ・過去のコードはテストコードが少ない 結構多いこともあるので、「ああー、、、」と思うこともしばしば 自動テストではない別の手段で、動作確認が必要

Slide 7

Slide 7 text

7 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 引用:PHP 7.0.x から PHP 7.1.x への移行 大変なこと

Slide 8

Slide 8 text

8 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 工夫ポイント ・バージョンアップ前後のdiffチェック バージョンアップ前後の HTMLを比較し、差分がないか確認する シェルスクリプトで動作確認しよう ・バッチの一括実行 バッチを実際に動かし、エラーが出ないことを確認する

Slide 9

Slide 9 text

9 © Cake.jp Co.Ltd. All Right Reserved.|Confidential チームワークって大事 ・それぞれの環境を並行して進めている お互いが遭遇したエラーを共有することで、倍速で進める ・並行して進めることで作業速度がアップ 環境を一つずつ進めると過去に作業した内容を思い出す必要があるが、 並行して行うことで、「なんだっけ?」が発生しない

Slide 10

Slide 10 text

10 © Cake.jp Co.Ltd. All Right Reserved.|Confidential まとめ その1 ・シェルスクリプトを用いて、動作確認工数の削減 ・チームで並行して行うことで、工数の削減 得られた知見

Slide 11

Slide 11 text

11 © Cake.jp Co.Ltd. All Right Reserved.|Confidential まとめ その2 バージョンアップのメリット ・null合体演算子が使えるようになった! ・stringなどの型指定ができるようになった! ・CPU使用率が下がった!

Slide 12

Slide 12 text

12 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 終わり レガシーからモダンへ?PHP5.6からの脱却