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
Keisuke Matsufuji
October 19, 2023
Programming
0
1k
これから始める!ニ段飛ばしのPHPバージョンアッププロジェクト戦略
https://fortee.jp/phpcon-2023/proposal/85118c7f-c8ab-4c53-a99f-6566306404e4
Keisuke Matsufuji
October 19, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
480
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
630
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
720
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
160
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
2.8k
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
370
Ruby and LLM Ecosystem 2nd
koic
1
1.2k
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
270
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
ラッコキーワード サービス紹介資料
rakko
1
2.7M
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
4 Signs Your Business is Dying
shpigford
187
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
So, you think you're a good person
axbom
PRO
2
2k
GraphQLとの向き合い方2022年版
quramy
50
14k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
140
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
160
Typedesign – Prime Four
hannesfritz
42
3k
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