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

PHPコードを消すライブラリを作った

kubotak
April 11, 2022

 PHPコードを消すライブラリを作った

PHPerKaigi 2022 @ 2022/04/11 14:20〜 Track A レギュラートーク(20分)

kubotak

April 11, 2022
Tweet

More Decks by kubotak

Other Decks in Programming

Transcript

  1. Copyright© M&A
    PHP
    PHPerKaigi
    2
    02
    2
    @ Kenjiro Kubota

    View Slide

  2. Copyright© M&A
    Profile
    kubotak-is
    kubotak_public
    kenjiro.kubota
    M&A
    (Java|Type)Script
    PHP
    https://kubotak.page
    Web Laravel ( )

    View Slide

  3. Copyright© M&A
    M&A
    3
    ങ͍ख
    ɾҊ݅ใु͸M&A੒ޭใुͷΈ
    ɾ࠷௿ख਺ྉͳ͠
    ɾചΓखιʔγϯάͷνϟωϧ͕૿͑Δ
    ɾM&AχʔζΛൃ৴͢Δ͚ͩͰചΓखΛू٬
    ɾ஥հۀऀΛհͣ͞ʹμΠϨΫτʹ΍ΓऔΓՄೳ
    ɾજࡏ૚ʹ΋Ϧʔν͕Մೳ
    ख਺ྉແྉ
    ※ϓϥοτϑΥʔϜҊ݅ͷ৔߹

    ചΓख
    1.ܝࡌ͢Δ
    ɾങ͍खͷM&AχʔζΛࣗΒௐ΂Δ͜ͱ͕Մೳ

    ɾ஥հۀऀΛհͣ͞ʹμΠϨΫτʹ΍ΓऔΓՄೳ

    ɾങ͍खͷM&A୲౰ऀʹ௚઀ίϯλΫτΛͱΕΔ

    ɾ஥հۀऀΛ࢖Θͳ͍ͷͰख਺ྉ͕ແྉ
    2.ΦϑΝʔ͢Δ
    M&Aɾग़ࢿχʔζΛܝࡌ
    ങ͍खͷϝϦοτ ചΓखͷϝϦοτ
    ɾ஥հۀऀΛ࢖Θͳ͍ͷͰख਺ྉ͕ແྉ
    ʓʓྖҬͷձࣾΛ
    ืू͠·͢
    ͜ͷձࣾͱҰॹʹ
    ΍͍͖͍ͬͯͨʂ
    3
    PR

    View Slide

  4. Copyright© M&A
    INDEX
    PHP




    PHP


    Composer Bin Command


    Packagist


    View Slide

  5. Copyright© M&A
    PHP

    View Slide

  6. Copyright© M&A
    PHP
    PHP
    🤔

    View Slide

  7. Copyright© M&A
    PHP
    M&A


    M&A

    View Slide

  8. Copyright© M&A
    ON/OFF


    if

    View Slide

  9. Copyright© M&A
    if


    FeatureFlag::isTrue()

    View Slide

  10. Copyright© M&A
    if


    FeatureFlag::isTrue()


    😵😭🤬🤯😨

    View Slide

  11. Copyright© M&A
    PHP
    php-del
    https://packagist.org/packages/kubotak-is/php-del
    PHP

    View Slide

  12. Copyright© M&A
    php-del.json


    dirs extensions
    php,blade.php,css,sass,scss,stylus

    View Slide

  13. Copyright© M&A
    php-del start flag ~ php-del end flag


    View Slide

  14. Copyright© M&A
    php-del start flag ~ php-del end flag


    View Slide

  15. Copyright© M&A
    Composer Bin Command

    View Slide

  16. Copyright© M&A
    Composer Bin Command

    View Slide

  17. Copyright© M&A
    Composer Bin Command
    🤗

    View Slide

  18. Copyright© M&A
    ⾒ php-del ignore start,end

    View Slide

  19. Copyright© M&A
    ⾒ php-del ignore start,end
    ignore

    View Slide

  20. Copyright© M&A
    ⾒ php-del line flag
    ⾒ php-del file flag

    View Slide

  21. Copyright© M&A
    ⾒ php-del line flag
    ⾒ php-del file flag


    GitHub
    🤩

    View Slide

  22. Copyright© M&A

    View Slide

  23. Copyright© M&A
    1
    ) start


    2
    ) start
    1


    3
    ) end


    4
    ) end


    5
    )

    View Slide

  24. Copyright© M&A
    1
    ) start


    2
    ) start
    1


    3
    ) end


    4
    ) end


    5
    )

    View Slide

  25. Copyright© M&A
    1
    ) start


    2
    ) start
    1


    3
    ) end


    4
    ) end


    5
    )
    1

    View Slide

  26. Copyright© M&A
    1
    ) start


    2
    ) start
    1


    3
    ) end


    4
    ) end


    5
    )

    View Slide

  27. Copyright© M&A
    1
    ) start


    2
    ) start
    1


    3
    ) end


    4
    ) end


    5
    )

    View Slide

  28. Copyright© M&A
    1
    ) start


    2
    ) start
    1


    3
    ) end


    4
    ) end


    5
    )

    View Slide

  29. Copyright© M&A
    ignore
    1
    )
    ignore
    start


    2
    )
    1


    3
    ) ignore end


    4
    )
    2

    View Slide

  30. Copyright© M&A
    ignore
    1
    )
    ignore
    start


    2
    )
    1


    3
    ) ignore end


    4
    )
    2

    View Slide

  31. Copyright© M&A
    ignore
    1
    )
    ignore
    start


    2
    )
    1


    3
    ) ignore end


    4
    )
    2
    1

    View Slide

  32. Copyright© M&A
    ignore
    1
    )
    ignore
    start


    2
    )
    1


    3
    ) ignore end


    4
    )
    2

    View Slide

  33. Copyright© M&A
    ignore
    1
    )
    ignore
    start


    2
    )
    1


    3
    ) ignore end


    4
    )
    2
    2

    View Slide

  34. Copyright© M&A
    ignore
    5)

    View Slide

  35. Copyright© M&A
    A: B:
    str_replace

    View Slide

  36. Copyright© M&A
    A: B:
    str_replace
    A: B:

    View Slide

  37. Copyright© M&A
    A: B:
    str_replace
    A: B:
    while


    file_put_contents
    🔁

    View Slide

  38. Copyright© M&A
    Composer Bin Command
    Composer Bin Command PHPer PHPUnit


    vendor/bin


    Composer Bin Command 🙏

    View Slide

  39. Copyright© M&A
    bin
    shebang PHP


    php-del


    View Slide

  40. Copyright© M&A
    bin
    shebang PHP


    php-del


    env php PATH PHP

    View Slide

  41. Copyright© M&A

    View Slide

  42. Copyright© M&A
    composer


    autoload

    View Slide

  43. Copyright© M&A
    autoload

    View Slide

  44. Copyright© M&A
    autoload

    View Slide

  45. Copyright© M&A
    autoload PSR-
    4


    CLImate
    https://climate.thephpleague.com

    View Slide

  46. Copyright© M&A
    composer.json bin


    vendor/bin/~

    View Slide

  47. Copyright© M&A
    composer.json bin


    vendor/bin/~
    2
    🤗

    View Slide

  48. Copyright© M&A
    Packagist
    composer install Packagist


    Packagist Composer


    Packagist Composer URL

    View Slide

  49. Copyright© M&A
    Packagist
    name
    Github
    description
    require
    autoload name
    Github
    license
    composer.json

    View Slide

  50. Copyright© M&A
    Packagist
    Packagist GitHub


    Submit GitHub

    View Slide

  51. Copyright© M&A
    Packagist
    Packagist GitHub


    Submit GitHub
    😎

    View Slide

  52. Copyright© M&A
    README.md 👇

    View Slide

  53. Copyright© M&A
    Badge Poser🚀
    https://poser.pugx.org
    Pakckagist Badge Poser README.md

    View Slide

  54. Copyright© M&A
    GitHub Actions
    GitHub Actions Actions Create status badge

    View Slide

  55. Copyright© M&A



    Composer Bin Command


    Packagist


    View Slide

  56. Copyright© M&A
    php-del

    View Slide

  57. Copyright© M&A
    Thanks for watching this :)

    View Slide