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
380
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
28
Cake.jpのCRM 今と未来
kechiiin
0
63
半年かけてPHP5.6からPHP7.4までバージョンアップした苦労と工夫 PHPカンファレンス福岡2024
kechiiin
1
840
(弊社の)OpenSearchに潜んでいた罠
kechiiin
0
140
before/afterで見る Cake.jpのアジャイル開発
kechiiin
0
32
ランダム処理を修正し、DBの負荷を下げた話
kechiiin
0
40
Other Decks in Programming
See All in Programming
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
190
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
530
Cloudflare で始める Data Platform
ta93abe
0
240
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
110
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
関係性から理解する"同一性"の型用語たち
pvcresin
2
480
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
140
Modding RubyKaigi for Myself
yui_knk
0
400
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
340
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
170
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
200
GitHub Copilot CLIのいいところ
htkym
2
750
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
160
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
The Limits of Empathy - UXLibs8
cassininazir
1
340
A designer walks into a library…
pauljervisheath
211
24k
Context Engineering - Making Every Token Count
addyosmani
9
900
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How to Talk to Developers About Accessibility
jct
2
200
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Building AI with AI
inesmontani
PRO
1
1k
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からの脱却