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
これから始める!ニ段飛ばしのPHPバージョンアッププロジェクト戦略
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Keisuke Matsufuji
October 19, 2023
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
これから始める!ニ段飛ばしのPHPバージョンアッププロジェクト戦略
https://fortee.jp/phpcon-2023/proposal/85118c7f-c8ab-4c53-a99f-6566306404e4
Keisuke Matsufuji
October 19, 2023
Other Decks in Programming
See All in Programming
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
740
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
220
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
170
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
160
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
540
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.6k
JavaDoc 再入門
nagise
0
330
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
160
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
210
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
What's in a price? How to price your products and services
michaelherold
247
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The browser strikes back
jonoalderson
0
1.2k
Transcript
PHP Conference Japan 2023 2023.10.08 松藤 圭祐(@matsusuke)/GMOペパボ株式会社 1 これから始める!ニ段⾶ばしのPHP バージョンアッププロジェクト戦略
ホスティング事業部 プロダクトチーム 2022年 中途⼊社 2 ⾃⼰紹介 松藤 圭祐 Matsufuji Keisuke ホスティング事業部でバックエンドエンジニアとし
てプロダクトの設計‧開発‧保守を担当。 • matsusuke と呼ばれています • 福岡県福岡市在住の29歳 • Twitter : @mtfuji0mtske
GMOペパボについて 3 https://pepabo.com
ホスティング事業部のプロダクトについて 4 https://pepabo.com
5 ‧歴史あるアプリケーションの PHPバージョンアップの戦略 ‧どのような懸念があり、 どう決断を⾏なったか 今⽇話すこと
6 アジェンダ 1. アプリケーションの現状とゴール 2. ゴールに向けて⽴てた戦略 3. アプリケーションの質を担保するテスト戦略 4. さいごに
1. アプリケーションの 現状とゴール 7
アプリケーションの現状とゴール 8 PHP 5.6 PHP 8.2
アプリケーションの現状とゴール 9 PHP 5.6 PHP 8.2 やばい戦略
2. ゴールに向けて⽴てた戦略 10
ゴールに向けて⽴てた戦略 PHPStanによる静的解析 →構⽂エラーのうち、3分の2以上がZend Framework →フレームワークのバージョンを上げる? まず、何から始める? 11
ゴールに向けて⽴てた戦略 ZendFramework1系は8.2に対応していない フレームワークのバージョンアップが必要 →厳しい 12 懸念
ゴールに向けて⽴てた戦略 • 静的解析の結果、全ての構⽂エラーを直すのは効率的ではない • エラーの修正とフレームワークのパッチを当てる • テストコードを並⾏して作成する 戦略 13
3. アプリケーションの質を 担保するテスト戦略 14
アプリケーションの質を担保するテスト戦略 ⼀般的なテスティングピラミッド 15 E2E Integration Unit
アプリケーションの質を担保するテスト戦略 16 今回のテスト戦略 Unit E2E
アプリケーションの質を担保するテスト戦略 17 Unit E2E • 修正したメソッドのUnitテストのみ • できるだけ⼯数をかけない Unitテスト戦略
アプリケーションの質を担保するテスト戦略 18 Unit E2E • コアとなる機能のテストを 重点的に作成 • PlaywrightをE2Eライブラリとして使⽤ E2Eテスト戦略
4. さいごに 19
さいごに • 質の担保と⼯数のバランスが取れた戦略を考えることができた! • バージョンアップに携われた⽅、 是⾮体験談を聞かせてください! 20
Thank You! 21