レガシーなPHPアプリケーションのリプレイスプロジェクトにおける取り組み / phpconsen2019

レガシーなPHPアプリケーションのリプレイスプロジェクトにおける取り組み / phpconsen2019

PHPカンファレンス仙台2019の登壇資料です。
https://phpcon-sendai.net/2019/

Ca2756275664f26f2310119d779ab43b?s=128

blue_goheimochi

January 26, 2019
Tweet

Transcript

  1.       PHP  2019 2019.01.26

      
  2. 2   

  3. 3 5.x → 7.x

  4. 4 5.x → 7.x

  5. 5  • +%,41 9=; •  +%,  •

    +%,%*. • <0A7$&" '/:#(.6@ • %-"C625 • *'%*!7 C6 B>; • 3%+).8? 
  6. 6 blue_goheimochi        PHP(Laravel),

    Javascript(Vue.js/Nuxt.js) Golang, DDD, Scrum …  
  7. 7 C / / M B B K I R

    & & & R S I A
  8. 8 &

  9. 9 &    

  10. 10 &    Q Q Q Q Q

    Q A A A A A
  11. 11 &    Q Q Q Q Q

    Q A A A A A A 1
  12. 12 &  . ' • -#&$ %"!(  .

    • ,  . • +)* •  
  13. 13       Q Q Q

    Q Q Q A A A A A & & &    
  14. 14   

  15. 15    •  !" •  

    •    
  16. 16    •  !" •  

    •    
  17. 17   • % )1 • %+  $'

     • ,*(SVN)20107! • . OS • 1/#(PHP-" • 32& 04  
  18. 18    •  !" •  

    •    
  19. 19     • # $&+42(  •

    *13,  •  "%8 • ! .  • 0 5-7 /)'6
  20. 20     • !'$"(*/86,  • .570

     •  #&)< • % 2  • 4 91;3-+: →  
  21. 21    •  !" •  

    •    
  22. 22      • $ + 

    •  &( ##  • Twitter"" %!"" '  •  *) 
  23. 23    •  !" •  

    •    
  24. 24     

  25. 25 

  26. 26  •  . -0  •  

    )'  • "!*/%+)' #   • $& (,
  27. 27   •  . -0  • 

     )'  • "!*/%+)' #   • $& (,    
  28. 28 ( ) •  . -0  • 

     )'  • "!*/%+)' #   • $& (,  "&#! $   →   '  %
  29. 29 $%6-7 •  . -0  •  

    )'  • "!*/%+)' #   • $& (, #  04&1. 2   →$*, 5 + 3 + →)'!"/ 6-(
  30. 30 

  31. 31    •  !" •  

    •    
  32. 32 

  33. 33       

  34. 34       

  35. 35        

  36. 36       

  37. 37      

  38. 38         •

    7A/6!'"!)$#*&,. • 7A>5< >5< • /6(- 0=1  ;/ • 39!'"!)$#*+.%;/24 • 39B; • 8@:?
  39. 39  

  40. 40 

  41. 41    • 69#"/-? B8 • 3HAG7 •

    E#*02&=G $-4 ')! ,2#F 8; • % 0#"/-#*02&1(. +2&D< @:8C >5
  42. 42     •   • 

     •    •    •  •  
  43. 43         #*)',/

     +%+5.&*+$%+ +!( $13 !' "420 -   
  44. 44   • $!.,@ 12 5A • ?C>; •

    *0%$3:=D  B8  • *0'!( )$!.,+$&96F< •   $!., 74 • $"#-/E 
  45. 45 %'$0+)* /-, • $!.,@ 12 5A • ?C>; •

    *0%$3:=D  B8  • *0'!( )$!.,+$&96F< •   $!., 74 • $"#-/E  →%&#  $%"$%'!$ 2. (1 
  46. 46    

  47. 47     Laravel

  48. 48    Laravel 

  49. 49     • LTS" (Laravel5.5) • 

    (#$) •  Web  •  !
  50. 50 ! # • $% "-  &+$3 • 1275

    )   • "!#', 6*. • - • % /0(4.  Vuejs Laravel MySQL   &' $  
  51. 51    • ! • DDDADR  •

    Laravel$   • Facade Eloquent  •    " #  
  52. 52 

  53. 53  •     DDD% • ADR#

    • Vue.jsLaravel$ •  " • !& • etc…etc…
  54. 54     DDD • -2#") • %(+2

     ,0 • Infrastructure*' $*&!+ •  1/    .
  55. 55  ADR • Action Domain Responder • URI%*#(1,1 •

    (/: )7<?0;=   • #(23   !$' " • *")&>2%*4 +- 86 91.5
  56. 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. 57  

  58. 58   •     • DDD()ADR()

    • Fat ActionFat Repository • Fat SFC(Single File Component) • Test • etc…etc…etc…etc…etc…etc…etc…etc…etc…
  59. 59    ! • 3  • ')Eloquent.Vue.js.

     • Eloquent • Vue.jsSPA/ • ADR& $" • "(#,!- •  % + *  !
  60. 60    DDD( )ADR( ) • "$# !

      •         • UseCaseService • ADRController • Model • etc…etc…etc…etc…
  61. 61        • #

    " •  • $( pt+!  " • #2% • DDD .1 • # -'/)& 0 ,*
  62. 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. 63  

  64. 64   •    •  

       
  65. 65