$30 off During Our Annual Pro Sale. View Details »

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

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

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

blue_goheimochi

January 26, 2019
Tweet

More Decks by blue_goheimochi

Other Decks in Technology

Transcript




  1. PHP
    2019
    2019.01.26

    View Slide

  2. 2



    View Slide

  3. 3
    5.x →
    7.x

    View Slide

  4. 4
    5.x →
    7.x

    View Slide

  5. 5

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

    View Slide

  6. 6
    blue_goheimochi



    PHP(Laravel),
    Javascript(Vue.js/Nuxt.js)
    Golang, DDD, Scrum …

    View Slide

  7. 7
    C
    /
    /
    M B
    B K
    I R
    & &
    &
    R
    S
    I
    A

    View Slide

  8. 8
    &

    View Slide

  9. 9
    &


    View Slide

  10. 10
    &


    Q
    Q
    Q
    Q
    Q
    Q
    A
    A
    A
    A
    A

    View Slide

  11. 11
    &


    Q
    Q
    Q
    Q
    Q
    Q
    A
    A
    A
    A
    A
    A 1

    View Slide

  12. 12
    &
    .'
    • -#&$ %"!( .
    • ,
    .
    • +)*

    View Slide

  13. 13


    Q
    Q
    Q
    Q
    Q Q
    A
    A
    A
    A
    A
    & & &


    View Slide

  14. 14



    View Slide

  15. 15


    • !"



    View Slide

  16. 16


    • !"



    View Slide

  17. 17



    • %)1
    • %+$'

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

    View Slide

  18. 18


    • !"



    View Slide

  19. 19




    • # $&+42(
    • *13,

    • "%8
    • ! .
    • 05-7 /)'6

    View Slide

  20. 20




    • !'$"(*/86,
    • .570

    • #&)<
    • % 2
    • 4 91;3-+:

    View Slide

  21. 21


    • !"



    View Slide

  22. 22



    • $ +
    • &( ##
    • Twitter"" %!"" '


    *)

    View Slide

  23. 23


    • !"



    View Slide

  24. 24



    View Slide

  25. 25

    View Slide

  26. 26


    .-0
    • )'
    • "!*/%+)' #

    • $& (,

    View Slide

  27. 27



    .-0
    • )'
    • "!*/%+)' #

    • $& (,


    View Slide

  28. 28
    ( )

    .-0
    • )'
    • "!*/%+)' #

    • $& (,
    "&#!
    $

    → ' %

    View Slide

  29. 29
    $%6-7

    .-0
    • )'
    • "!*/%+)' #

    • $& (,
    #
    04&1.
    2

    →$*,
    5
    + 3 +
    →)'!"/6-(

    View Slide

  30. 30

    View Slide

  31. 31


    • !"



    View Slide

  32. 32

    View Slide

  33. 33






    View Slide

  34. 34






    View Slide

  35. 35






    View Slide

  36. 36






    View Slide

  37. 37



    View Slide

  38. 38



    • 7A/6!'"!)$#*&,.
    • 7A>5<>5<
    • /6(- 0=1

    ;/
    • 39!'"!)$#*+.%;/24
    • 39B;
    • 8@:?

    View Slide

  39. 39


    View Slide

  40. 40

    View Slide

  41. 41



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

    View Slide

  42. 42











    View Slide

  43. 43





    #*)',/
    +%+5.&*+$%+ +!(
    $13
    !'
    "420 -

    View Slide

  44. 44



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

    View Slide

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

    View Slide

  46. 46



    View Slide

  47. 47


    Laravel

    View Slide

  48. 48


    Laravel

    View Slide

  49. 49



    • LTS" (Laravel5.5)

    (#$)
    • Web
    • !

    View Slide

  50. 50
    ! #
    • $% "-
    &+$3
    • 1275
    )
    • "!#', 6*.
    • -

    • %/0(4.
    Vuejs Laravel MySQL


    &' $

    View Slide

  51. 51


    • !
    • DDDADR
    • Laravel$
    • FacadeEloquent

    "#

    View Slide

  52. 52

    View Slide

  53. 53


    DDD%
    • ADR#
    • Vue.jsLaravel$
    • "
    • !&
    • etc…etc…

    View Slide

  54. 54

    DDD

    • -2#")
    • %(+2
    ,0
    • Infrastructure*' $*&!+
    • 1/

    .

    View Slide

  55. 55

    ADR

    • Action Domain Responder
    • URI%*#(1,1
    • (/:)70;=

    • #(23
    !$' "
    • *")&>2%*4
    +-
    8691.5

    View Slide

  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

    View Slide

  57. 57

    View Slide

  58. 58



    • DDD()ADR()
    • Fat ActionFat Repository
    • Fat SFC(Single File Component)
    • Test
    • etc…etc…etc…etc…etc…etc…etc…etc…etc…

    View Slide

  59. 59


    !
    • 3
    • ')Eloquent.Vue.js.

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

    View Slide

  60. 60


    DDD()ADR()
    • "$# !



    • UseCaseService
    • ADRController
    • Model
    • etc…etc…etc…etc…

    View Slide

  61. 61



    • #"

    • $( pt+!

    "
    • #2%
    • DDD .1
    • #-'/)&
    0,*

    View Slide

  62. 62

    • 718"*B>HMK
    • 718"*

    • 718"*16;
    • L=RF'/*'2-+3• 19)#$-VE?C
    • *$6316$,!*FVESNK
    • A 17%(5;GO
    • 083:$D@PTUWI&.



    View Slide

  63. 63


    View Slide

  64. 64





    View Slide

  65. 65


    View Slide