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アプリケーションのリプレイスプロジェクトにおける取り組み / phpconse...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
blue_goheimochi
January 26, 2019
Technology
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レガシーなPHPアプリケーションのリプレイスプロジェクトにおける取り組み / phpconsen2019
PHPカンファレンス仙台2019の登壇資料です。
https://phpcon-sendai.net/2019/
blue_goheimochi
January 26, 2019
More Decks by blue_goheimochi
See All by blue_goheimochi
最高のコーチになるためのスポーツコーチング学―知っておくべき「フレームワーク」と「スキル」― を紹介 / phperkaigi-mini-0
blue_goheimochi
0
51
「コントロールの三分法」で考える「コト」への向き合い方 / phperkaigi2026
blue_goheimochi
0
410
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
370
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
650
コミュニケーションを「パス」のやりとりと捉え大切にしていること / dai-kichijojipm-2024
blue_goheimochi
2
4.1k
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
4
2.3k
芝生の障害対応・メンテナンスについて語る / ya8-2024
blue_goheimochi
1
200
「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ / phperkaigi2024
blue_goheimochi
5
3.2k
コードを計測することで捉える問題点 / phpcondo2024
blue_goheimochi
5
1.4k
Other Decks in Technology
See All in Technology
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
170
Power Automateアップデート情報
miyakemito
0
290
運用を犠牲にせずコストを制御し事業成長を支える B2B SaaS ID管理基盤におけるS3 Tableのログストレージ活用
kaminashi
1
120
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
0
110
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
0
140
Retriever と Reranker、結局どうする?
kazuaki
1
530
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
31
26k
A Bag-of-Documents Model for Query Specificity
dtunkelang
0
180
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
160
CTOキーノート:AI時代の「つなぐ」を再定義 ― 真のIoTとリアルワールドAI【SORACOM Discovery 2026】
soracom
PRO
0
330
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
160
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
430
Featured
See All Featured
Paper Plane
katiecoart
PRO
2
52k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
230
Become a Pro
speakerdeck
PRO
31
6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
エンジニアに許された特別な時間の終わり
watany
108
250k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
PHP 2019 2019.01.26
2
3 5.x → 7.x
4 5.x → 7.x
5 • +%,41 9=; • +%, •
+%,%*. • <0A7$&" '/:#(.6@ • %-"C625 • *'%*!7 C6 B>; • 3%+).8?
6 blue_goheimochi PHP(Laravel),
Javascript(Vue.js/Nuxt.js) Golang, DDD, Scrum …
7 C / / M B B K I R
& & & R S I A
8 &
9 &
10 & Q Q Q Q Q
Q A A A A A
11 & Q Q Q Q Q
Q A A A A A A 1
12 & . ' • -#&$ %"!( .
• , . • +)* •
13 Q Q Q
Q Q Q A A A A A & & &
14
15 • !" •
•
16 • !" •
•
17 • % )1 • %+ $'
• ,*(SVN)20107! • . OS • 1/#(PHP-" • 32& 04
18 • !" •
•
19 • # $&+42( •
*13, • "%8 • ! . • 0 5-7 /)'6
20 • !'$"(*/86, • .570
• #&)< • % 2 • 4 91;3-+: →
21 • !" •
•
22 • $ +
• &( ## • Twitter"" %!"" ' • *)
23 • !" •
•
24
25
26 • . -0 •
)' • "!*/%+)' # • $& (,
27 • . -0 •
)' • "!*/%+)' # • $& (,
28 ( ) • . -0 •
)' • "!*/%+)' # • $& (, "&#! $ → ' %
29 $%6-7 • . -0 •
)' • "!*/%+)' # • $& (, # 04&1. 2 →$*, 5 + 3 + →)'!"/ 6-(
30
31 • !" •
•
32
33
34
35
36
37
38 •
7A/6!'"!)$#*&,. • 7A>5< >5< • /6(- 0=1 ;/ • 39!'"!)$#*+.%;/24 • 39B; • 8@:?
39
40
41 • 69#"/-? B8 • 3HAG7 •
E#*02&=G $-4 ')! ,2#F 8; • % 0#"/-#*02&1(. +2&D< @:8C >5
42 • •
• • • •
43 #*)',/
+%+5.&*+$%+ +!( $13 !' "420 -
44 • $!.,@ 12 5A • ?C>; •
*0%$3:=D B8 • *0'!( )$!.,+$&96F< • $!., 74 • $"#-/E
45 %'$0+)* /-, • $!.,@ 12 5A • ?C>; •
*0%$3:=D B8 • *0'!( )$!.,+$&96F< • $!., 74 • $"#-/E →%&# $%"$%'!$ 2. (1
46
47 Laravel
48 Laravel
49 • LTS" (Laravel5.5) •
(#$) • Web • !
50 ! # • $% "- &+$3 • 1275
) • "!#', 6*. • - • % /0(4. Vuejs Laravel MySQL &' $
51 • ! • DDDADR •
Laravel$ • Facade Eloquent • " #
52
53 • DDD% • ADR#
• Vue.jsLaravel$ • " • !& • etc…etc…
54 DDD • -2#") • %(+2
,0 • Infrastructure*' $*&!+ • 1/ .
55 ADR • Action Domain Responder • URI%*#(1,1 •
(/: )7<?0;= • #(23 !$' " • *")&>2%*4 +- 86 91.5
56 • qlhWc` $
' ! • $5A85D<:GT *Qe )CK/6C;1E1 'm,( p\CK/6SNjfV(kO YoV* ) • g *a & ( • U_b$' B.=?;1$'n[ • * ' )"5D<:GOR@-LM2%PX • IA098^i+:G]#$4FH>37JM dZ
57
58 • • DDD()ADR()
• Fat ActionFat Repository • Fat SFC(Single File Component) • Test • etc…etc…etc…etc…etc…etc…etc…etc…etc…
59 ! • 3 • ')Eloquent.Vue.js.
• Eloquent • Vue.jsSPA/ • ADR& $" • "(#,!- • % + * !
60 DDD( )ADR( ) • "$# !
• • UseCaseService • ADRController • Model • etc…etc…etc…etc…
61 • #
" • • $( pt+! " • #2% • DDD .1 • # -'/)& 0 ,*
62 • 718"*B>HMK • 718"* • 718"*16;
• L=RF'/*'2-+3<J.4";EQ • 19)#$-VE?C • *$6316$,!*FVESNK • A 17%(5;GO • 083:$D@PTUWI&. •
63
64 • •
65