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
blue_goheimochi
January 26, 2019
Technology
1
1.3k
レガシーなPHPアプリケーションのリプレイスプロジェクトにおける取り組み / phpconsen2019
PHPカンファレンス仙台2019の登壇資料です。
https://phpcon-sendai.net/2019/
blue_goheimochi
January 26, 2019
Tweet
Share
More Decks by blue_goheimochi
See All by blue_goheimochi
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
230
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
400
コミュニケーションを「パス」のやりとりと捉え大切にしていること / dai-kichijojipm-2024
blue_goheimochi
2
3.5k
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
4
1.9k
芝生の障害対応・メンテナンスについて語る / ya8-2024
blue_goheimochi
1
130
「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ / phperkaigi2024
blue_goheimochi
5
2.5k
コードを計測することで捉える問題点 / phpcondo2024
blue_goheimochi
5
1.2k
Laravelのコードとわたしたちのコードとの距離を保つ / phpcon2023
blue_goheimochi
1
2.2k
リンケージにおけるアプリケーションコードとの付き合い方とそれを支えるコミュニケーション / drobe_pixiv_linkage-20230905
blue_goheimochi
1
600
Other Decks in Technology
See All in Technology
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
テストを軸にした生き残り術
kworkdev
PRO
0
220
「Linux」という言葉が指すもの
sat
PRO
4
140
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
メルカリIBISの紹介
0gm
0
460
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
460
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Designing for Performance
lara
610
69k
Context Engineering - Making Every Token Count
addyosmani
3
62
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Thoughts on Productivity
jonyablonski
70
4.8k
We Have a Design System, Now What?
morganepeng
53
7.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Adaptive Systems
keathley
43
2.7k
BBQ
matthewcrist
89
9.8k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Side Projects
sachag
455
43k
Designing Experiences People Love
moore
142
24k
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