Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lintの付き合い方とPahoutのご紹介

 Lintの付き合い方とPahoutのご紹介

第119回PHP勉強会@東京

Kazuma Watanabe

October 25, 2017
Tweet

More Decks by Kazuma Watanabe

Other Decks in Technology

Transcript

  1. -JOUͷ෇͖߹͍ํ
    ͱ1BIPVUͷ͝঺հ
    !XBUB
    ୈճ1)1ษڧձ!౦ژ

    View Slide

  2. ͋ΔϨϏϡʔͷ࿩

    View Slide

  3. ͱ͋ΔϨϏϡʔ
    QIQ
    DMBTT3FQPTJUPSZ\
    QSJWBUFOBNF
    QSJWBUFQVCMJD
    [email protected]@DPOTUSVDU TUSJOHOBNF TUSJOHWJTJCJMJUZ
    \
    UIJTOBNFOBNF
    UIJTQVCMJDWJTJCJMJUZQVCMJD USVFGBMTF
    ^
    ʜ
    ^

    View Slide

  4. ͱ͋ΔϨϏϡʔ
    QIQ
    DMBTT3FQPTJUPSZ\
    QSJWBUFOBNF
    QSJWBUFQVCMJD
    [email protected]@DPOTUSVDU TUSJOHOBNF TUSJOHWJTJCJMJUZ
    \
    UIJTOBNFOBNF
    UIJTQVCMJDWJTJCJMJUZQVCMJD USVFGBMTF
    ^
    ʜ
    ^
    WJTJCJMJUZlQVCMJD͚ͩͰΑ͘ͳ͍ʁ

    View Slide

  5. View Slide

  6. ·ͨผͷ࿩
    QIQ
    #FGPSF
    VTFSJTTFU @(&5VTFS>
    @(&5VTFS>OPCPEZ
    "GUFS
    [email protected](&5VTFS> OPCPEZ
    1)1͔Β͸/VMM߹ମԋࢉࢠ͕ೖΓ·ͨ͠Ͷ
    ศརʂͳΔ΂ͬͪ͘͜ͷه๏Λ࢖͏Α͏ʹ͠Α͏ʂ

    View Slide

  7. ͱ͜ΖͰ
    w ͜ͷϨϏϡʔɺϓϩδΣΫτ͝ͱʹϨϏϡΞ͕ؤுͬ
    ͯ΍Δඞཁ͋Δʁ
    w ϓϩδΣΫτݻ༗ͷ໰୊Ͱ͸ͳ͍͠ɺ1)1Λॻ͍ͯΔ
    ݶΓ͸୭Ͱ΋ૺ۰ͦ͠͏ͳ໰୊ɺΞυόΠε
    w ΈΜͳ͕͜͏͍ͬͨʮΑ͋͘Δ໰୊ʯΛ·ͱΊͯɺػ
    ցతʹνΣοΫͰ͖Δ࢓૊ΈΛ࡞ͬͨΒ޾ͤ͡Όͳ͍ʁ

    View Slide

  8. -JOUΛ࢖͓͏

    View Slide

  9. ࢖͍ͬͯ·͔͢ʁ

    View Slide

  10. -JOUJTԿ
    w ίϯύΠϥΑΓৄࡉ͔ͭݫີͳνΣοΫ
    w ίϯύΠϥͰ͸νΣοΫ͞Εͳ͍͕ɺόάͷ
    ݪҼʹͳΔΑ͏ͳᐆດͳهड़Λܯࠂ͢Δ

    View Slide

  11. -JOUJTԿ
    w ίϯύΠϥΑΓৄࡉ͔ͭݫີͳνΣοΫ
    w ίϯύΠϥͰ͸νΣοΫ͞Εͳ͍͕ɺόάͷ
    ݪҼʹͳΔΑ͏ͳᐆດͳهड़Λܯࠂ͢Δ
    ˠίʔυΛػցతʹνΣοΫͯ͠Կ͔༗ӹͳ͜ͱΛݴ͏

    View Slide

  12. 1)1ͷ-JOUFS
    w 1)[email protected]$PEF4OJ⒎FS
    w 1)1.FTT%FUFDUPS
    w 1IBO
    FUD

    View Slide

  13. 1)[email protected]$PEF4OJ⒎FS
    w ίʔσΟϯάن໿ ྫ͑͹143
    ʹҧ൓ͨ͠ίʔ
    υΛػցతʹݕग़Ͱ͖Δ
    w ϓϥάΠϯػߏ͕͋ΔͷͰɺΦϨΦϨن໿΋
    ద༻Մೳ

    View Slide

  14. 1)[email protected]$PEF4OJ⒎FS
    QIQ
    DMBTT)PHF\
    [email protected]@DPOTUSVDU
    \
    *OJUJBMJ[F
    ^
    QVCMJDGVODUJPOSVO
    \
    4PNFUIJOH
    ^
    ^

    View Slide

  15. 1)[email protected]$PEF4OJ⒎FS
    QIQ
    DMBTT)PHF\
    [email protected]@DPOTUSVDU
    \
    *OJUJBMJ[F
    ^
    QVCMJDGVODUJPOSVO
    \
    4PNFUIJOH
    ^
    ^

    0QFOJOHCSBDFPGBDMBTTNVTU
    CFPOUIFMJOFBGUFSUIFEFpOJUJPO
    0QFOJOHCSBDFTIPVMECFPOBOFXMJOF
    "DMPTJOHUBHJT
    OPUQFSNJUUFEBUUIFFOEPGB1)1pMF

    View Slide

  16. ศརʂ

    View Slide

  17. ͱ͜Ζ͕
    w ๯಄ͷྫʹ্͛ͨΑ͏ͳ՝୊ΛղܾͰ͖ͦ͏
    ͳ-JOUFS͕ແ͍ʜ
    w 1)[email protected]$PEF4OJ⒎FS͕Ұ൪ۙͦ͏͚ͩͲɺ͜Ε
    ͸ίʔσΟϯάن໿ͷҹ৅͕ڧͦ͏
    w ͦΕͧΕͷπʔϧͷࢥ૝ͱ͸ҧ͏ؾ͕͢Δ

    View Slide

  18. -JOUΛ࡞Ζ͏

    View Slide

  19. େ·͔ͳઓུ
    w ؆୯ͳ-JOUFSͳΒҙ֎ͱ࡞Δͷ͸೉͘͠ͳ͍
    w 1IBOΈ͍ͨͳͷ͸େม͚ͩͲʜ
    w ݁ہ͸ίʔυΛύʔεͯ͠ɺͻͱͭͻͱͭ
    νΣοΫͯ͠ɺ໰୊͕͋Ε͹ग़ྗ͢Ε͹ྑ͍

    View Slide

  20. 1BSTF
    w ίʔυΛ1)1ͷεΫϦϓτ্Ͱѻ͍΍͍͢ܗ
    ࣜʹม׵͢Δ "45BCTUSBDUTZOUBYUSFF

    w ϥΠϒϥϦ͕͋ΔͷͰɺͦΕΛ࢖͑͹؆୯
    w OJLJDQIQBTU͕ૣͯ͘ྑͦ͞͏

    View Slide

  21. OJLJDQIQBTU
    QIQ
    [email protected] BSHW>

    OPEFLJOEϊʔυͷछྨ FHఆ਺ఆٛ ؔ਺ݺͼग़͠

    OPEFDIJMESFOϊʔυͷࢠϊʔυ

    View Slide

  22. 5SBWFSTF
    w ಘΒΕͨ"45ͷϊʔυΛਂ͞༏ઌͰνΣοΫ
    w ࢠϊʔυ΋୳ࡧ͍ͯ͘͠ͷͰ࠶ؼؔ਺ͱͯ͠
    ࣮૷͞ΕΔ
    w ϊʔυͷछྨΛݟͯɺݕࠪͷॲཧΛϑοΫ

    View Slide

  23. 5SBWFSTF
    QIQ
    GVODUJPOUSBWFSTF /PEFOPEF

    \
    OPEFʹରͯ͠ݕࠪ͢Δ
    GPSFBDI OPEFDIJMESFOBTUZQFDIJME
    \
    JG DIJMEJOTUBODFPG/PEF
    \
    USBWFSTF DIJME

    ^
    ^
    ^

    View Slide

  24. *OTQFDU
    w Ϋϥε͝ͱʹݕࠪର৅ͷϊʔυͷछྨͱɺϊʔ
    υʹର͢ΔݕࠪॲཧΛఆٛ͢Δ
    w ݕࠪ݁Ռʹ໰୊͕͋Ε͹ɺࢦఠΛൃੜͤ͞Δ

    View Slide

  25. *OTQFDU
    QIQ
    DMBTT*OTQFDUPS
    \
    ࡾ߲ԋࢉࢠͷ৔߹ʹݕࠪ͢Δ
    DPOTU&/53:@10*/5aBTUa"[email protected]$0/%*5*0/"-
    OPEFLJOE&/53:10*/5ʹͳΔͱ͖͚࣮ͩߦ͢Δ
    QVCMJDGVODUJPOSVO /PEFOPEF

    \
    OPEFΛݟͯ৭ʑ͢Δ
    ^
    ^

    View Slide

  26. ࡞Γ·ͨ͠
    w IUUQTHJUIVCDPNXBUBQBIPVU
    w ৽͍͠1)1ͷγϯλΫεͰஔ͖׵͑Մೳͳ
    ίʔυΛݕग़ͨ͠ΓɺόάͬΆ͍ίʔυΛݟ
    ͚ͭͨΓ

    View Slide

  27. 1BIPVUͷྫ
    QIQ
    USZ\
    TPNFUIJOH

    ^DBUDI "FYDFQUJPO
    \
    SFTDVF

    FDIPlDBUDIz
    ^DBUDI #FYDFQUJPO
    \
    FDIPlDBUDIz
    ^DBUDI $FYDFQUJPO
    \
    FDIPlDBUDIz
    ^

    View Slide

  28. 1BIPVUͷྫ
    QIQ
    USZ\
    TPNFUIJOH

    ^DBUDI "FYDFQUJPO
    \
    SFTDVF

    FDIPlDBUDIz
    ^DBUDI #FYDFQUJPO
    \
    FDIPlDBUDIz
    ^DBUDI $FYDFQUJPO
    \
    FDIPlDBUDIz
    ^
    .VMUJQMF$BUDI"DBUDICMPDLNBZ
    TQFDJGZNVMUJQMFFYDFQUJPO

    View Slide

  29. 1BIPVUͷྫ
    QIQ
    USZ\
    TPNFUIJOH

    ^DBUDI "FYDFQUJPO
    \
    SFTDVF

    FDIPlDBUDIz
    ^DBUDI #c$FYDFQUJPO
    \
    FDIPlDBUDIz
    ^

    View Slide

  30. ૣ଎࢖͓͏ʂ

    View Slide

  31. ૣ଎࢖͓͏ʂ
    Ͱ΋

    View Slide

  32. -JOUಋೖͷ
    Ξϯνύλʔϯ

    View Slide

  33. Α͋͘Δಋೖͷࣦഊ
    w ͱΓ͋͑ͣશମʹద༻͢Δ
    w ݴΘΕͨ͜ͱΛશ෦௚͢

    View Slide

  34. ͱΓ͋͑ͣશମʹద༻͢Δ

    View Slide

  35. ͱΓ͋͑ͣશମʹద༻͢Δ
    w ΊͪΌͪ͘Όࢦఠ͕ग़Δ
    w Ͳ͔͜Β௚ͤ͹͍͍ͷ͔Θ͔Βͳ͘ͳΔ
    w ʘ ?P?
    ʗźŕũŽƃŮ

    View Slide

  36. ݴΘΕͨ͜ͱΛશ෦௚͢
    w ຊ౰ʹͦΕͰ͍͍ͷʁ
    w ྫ͑͹ʮϝιου͕௕͗͢·͢ʯͱݴΘΕ͔ͨΒ
    ࢥߟఀࢭͯ͠ϝιουΛ෼ׂ͢Δͷ͸ਖ਼͍͠ͷʁ
    w ϝιουͷ෼ׂ͸ɺͦͷϝιουͷ੹຿͕େ͖͢
    ͗Δ৔߹ʹߦͳ͏΂͖Ͱ͋Δ͸ͣ

    View Slide

  37. ݴΘΕͨ͜ͱΛશ෦௚͢
    w ຊ౰ʹͦΕͰ͍͍ͷʁ
    w ྫ͑͹ʮϝιου͕௕͗͢·͢ʯͱݴΘΕ͔ͨΒ
    ࢥߟఀࢭͯ͠ϝιουΛ෼ׂ͢Δͷ͸ਖ਼͍͠ͷʁ
    w ϝιουͷ෼ׂ͸ɺͦͷϝιουͷ੹຿͕େ͖͢
    ͗Δ৔߹ʹߦͳ͏΂͖Ͱ͋Δ͸ͣ
    ˠͦ΋ͦ΋ɺࢲୡ͸ػցΑΓݡ͍

    View Slide

  38. Ͳ͏͢Δ΂͖͔ʁ
    w -JOU͸ʮϖΞϓϩάϥϛϯάͷύʔτφʔʯ
    ͷΑ͏ͳଘࡏͰ͋Δ΂͖
    w ϖΞϓϩͰʮͱΓ͋͑ͣաڈͷίʔυ͔Βશ
    ෦ݟΔʯͳΜͯ͜ͱ͸͠ͳ͍͸ͣ
    w ύʔτφʔ͸ʮΞυόΠεʯ͢Δ͚ͩͰͦΕ
    Λड͚ೖΕΔ͔͸͋ͳͨͷ൑அ࣍ୈ

    View Slide

  39. 1BIPVU͸Ͳ͏͔ʁ
    w l"QBJSQSPHSBNNJOHQBSUOFSGPSXSJUJOH
    CFUUFS1)1zΛςʔϚʹ͍ͯ͠Δ
    w ਓ͕ؒݟಀ͕ͪ͠ͳϛεΛ໨͟ͱ͘ݟ͚ͭͯ
    ΞυόΠε͢Δͷ͕ಘҙ
    w ϓϩδΣΫτͷഎܠ΍σʔλʹىҼ͢Δ໰୊
    ͸͋ͳͨͷ΄͏͕ৄ͍͠ͷͰޱग़͠͠·ͤΜ

    View Slide

  40. 1BIPVU͸Ͳ͏͔ʁ
    w ৽͘͠ॻ͔ΕΔίʔυ͚ͩνΣοΫ͢Δ࢓૊
    Έ͸ಛʹແ͍ͷͰਓؒʹؤுͬͯཉ͍͠

    View Slide

  41. ࠷ޙʹ
    w Έͳ͞Μͷݱ৔Ͱݟ͚ͭͨʮࣗಈԽͰ͖ͦ͏
    ͳϨϏϡʔʯͷ࿩Λฉ͔͍ͤͯͩ͘͞
    w *TTVFͱཱ͔ͯͯ͘ΕΔͱتΜͰ࣮૷͠·͢
    ʢͨͿΜʣ
    w ΋ͪΖΜϓϧϦΫΤετ΋8FMDPNFͰ͢ʂ

    View Slide