Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レガシーからモダンへ? PHP5.6からの脱却
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Keisuke Yamauchi
December 21, 2023
Programming
370
0
Share
レガシーからモダンへ? PHP5.6からの脱却
Cake.jpで行った、PHPアップデートについてのLTを行いましたので、その際のスライドです
Keisuke Yamauchi
December 21, 2023
More Decks by Keisuke Yamauchi
See All by Keisuke Yamauchi
Gopherになって気づくPHPの良さ
kechiiin
0
160
動的型付け言語に抗うPHPStanという戦士
kechiiin
0
26
Cake.jpのCRM 今と未来
kechiiin
0
61
半年かけてPHP5.6からPHP7.4までバージョンアップした苦労と工夫 PHPカンファレンス福岡2024
kechiiin
1
840
(弊社の)OpenSearchに潜んでいた罠
kechiiin
0
140
before/afterで見る Cake.jpのアジャイル開発
kechiiin
0
29
ランダム処理を修正し、DBの負荷を下げた話
kechiiin
0
35
Other Decks in Programming
See All in Programming
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
130
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.7k
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
180
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
460
The Less-Told Story of Socket Timeouts
coe401_
3
780
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
190
[RubyKaigi 2026] Require Hooks
palkan
1
240
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
170
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
4
1.3k
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
360
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
750
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
120
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
Typedesign – Prime Four
hannesfritz
42
3k
Bash Introduction
62gerente
615
210k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
750
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
270
Documentation Writing (for coders)
carmenintech
77
5.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
170
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
290
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
520
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Un-Boring Meetings
codingconduct
0
280
Transcript
© Cake.jp Co.Ltd. All Right Reserved.|Confidential 2023/12/13 レガシーからモダンへ? PHP5.6からの脱却
山内 啓輔
2 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自己紹介 山内 啓輔
やまうち けいすけ 担当業務 カテゴリーページ、検索機能など 🍰おすすめスイーツ 元祖かぼちゃプリン 約1.2kg かぼちゃ感が強く、甘さが控えめで美味し い! 付属のカラメルをかけることで甘さもアップ カテゴリページ 検索機能
3 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 今日話す内容 1. PHPバージョンアップの歴史
2. どんなことをしているか 3. 大変なこと 4. 工夫ポイント 5. チームワークって大事 6. まとめ
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サイト 管理画面(店舗用)
5 © Cake.jp Co.Ltd. All Right Reserved.|Confidential どんなことをしているか ・Dockerfileの書き換え 主にPHPバージョンの変更
・CI(Github Actions)の書き換え 次のバージョン用のファイルを作成 ・各種ライブラリのバージョン上げ composer.jsonを書き換える ・既存コードの書き換え 公式の情報を元に、使用できなくなる関数などを修正 ・動作確認
6 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 大変なこと ・コードの修正量が多い 対応しないとFatal
Errorになるケースは多くないが、 Warningなどもなるべく対応している ・過去のコードはテストコードが少ない 結構多いこともあるので、「ああー、、、」と思うこともしばしば 自動テストではない別の手段で、動作確認が必要
7 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 引用:PHP 7.0.x から
PHP 7.1.x への移行 大変なこと
8 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 工夫ポイント ・バージョンアップ前後のdiffチェック バージョンアップ前後の
HTMLを比較し、差分がないか確認する シェルスクリプトで動作確認しよう ・バッチの一括実行 バッチを実際に動かし、エラーが出ないことを確認する
9 © Cake.jp Co.Ltd. All Right Reserved.|Confidential チームワークって大事 ・それぞれの環境を並行して進めている お互いが遭遇したエラーを共有することで、倍速で進める
・並行して進めることで作業速度がアップ 環境を一つずつ進めると過去に作業した内容を思い出す必要があるが、 並行して行うことで、「なんだっけ?」が発生しない
10 © Cake.jp Co.Ltd. All Right Reserved.|Confidential まとめ その1 ・シェルスクリプトを用いて、動作確認工数の削減
・チームで並行して行うことで、工数の削減 得られた知見
11 © Cake.jp Co.Ltd. All Right Reserved.|Confidential まとめ その2 バージョンアップのメリット
・null合体演算子が使えるようになった! ・stringなどの型指定ができるようになった! ・CPU使用率が下がった!
12 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 終わり レガシーからモダンへ?PHP5.6からの脱却