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

PHPを学ぶということ / phpcondo-2019

PHPを学ぶということ / phpcondo-2019

PHPカンファレンス北海道2019スライド

PHPは言語としては初学者にもやさしく、入門しやすい言語かもしれません。
一方で、実際にWebアプリケーションを作るにあたり、知らなければいけない周辺知識はたくさんあります。
ではまず、Webアプリケーションフレームワークのチュートリアルをやっておけば良いのでしょうか?
また、どこから学んだら良いかわからず、入門書っぽい本で学習するのが良いでしょうか?
このセッションでは、初学者(Web系の言語入門者を含む)にとって、Webアプリケーションを開発することを学ぶにはどこから取り組むのが良いのか?ということを紹介します。

Kenichiro Kishida

September 21, 2019
Tweet

More Decks by Kenichiro Kishida

Other Decks in Technology

Transcript

  1. 1)1ΛֶͿͱ͍͏͜ͱ
    1)1ΧϯϑΝϨϯε๺ւಓ
    ,FOJDIJSP,JTIJEB
    !TJ[VIJLP

    View Slide

  2. ,FOJDIJSP,JTIJEB
    5PLZP +"1"/
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ

    View Slide

  3. View Slide

  4. w৘ใΛ૊৫͠ॲཧ͢ΔλεΫʹ͍ͭͯͷཧ
    ղΛ༰қʹ͠ɺΞϧΰϦζϜΛਖ਼֬ʹදݱ
    ͢Δ͜ͱ͕Ͱ͖Δɻ
    wਓؒಉ࢜ͷձ࿩ͱൺֱͯ͠ɺਖ਼֬ੑͱ׬શ
    ੑͷཁٻੑ͕ඇৗʹߴ͍ͱ͍͏ಛ௃͕͋Δɻ
    ࣗવݴޠͰਓؒಉ͕࢜ର࿩͢Δ৔߹ɺεϖ
    ϧϛε΍จ๏తͳΤϥʔ͕͋ͬͯ΋૬ख͸
    ঢ়گ͔Βద౰ʹิਖ਼͠ɺਖ਼֬ͳ಺༰Λ೺Ѳ
    ͢Δɻ͔͠͠ίϯϐϡʔλ͸ࢦ͕ࣔᐆດͰ
    ͸ಈ࡞ͤͣɺϓϩάϥϚ͕ίʔυʹࠐΊͨ
    ҙਤΛཧղͤ͞Δ͜ͱ͸Ͱ͖ͳ͍
    8JLJQFEJBʹΑΔͱ
    https://ja.wikipedia.org/wiki/ϓϩάϥϛϯάݴޠ

    View Slide

  5. w1FSTPOBM)PNF1BHF5PPMTɻ
    ೥ʹ(1-ͷԼͰެ։
    wಈతͳ8FCϖʔδΛੜ੒͢ΔπʔϧΛىݯ
    ͱ͍ͯ͠ΔͨΊɺެࣜͷॲཧܥʹ͸8FCΞ
    ϓϦέʔγϣϯ։ൃʹؔ͢Δػೳ͕๛෋ʹ
    ૊Έࠐ·Ε͍ͯΔɻݩʑ1)1͸ϓϩάϥ
    ϛϯάݴޠͱݴ͑Δ΋ͷͰ͸ͳ͘ɺ୯ʹς
    ϯϓϨʔτతͳॲཧΛߦ͏͚ͩͰ͕͋ͬͨɺ
    ౓ॏͳΔػೳ௥Ճ΍ίʔυͷॻ͖௚͠ʹΑ
    Γɺݱࡏ͸໨తʹΑΒͣ൚༻తʹ࢖͏͜ͱ
    ͷग़དྷΔεΫϦϓτݴޠͱͳ͍ͬͯΔ
    "CPVU1)11)1)ZQFSUFYU1SFQSPDFTTPS
    https://ja.wikipedia.org/wiki/PHP_(ϓϩάϥϛϯάݴޠ)

    View Slide

  6. 8):VTF1)1






    ࢓ࣄ
    $.4
    1)1ίϛϡχςΟ͕޷͖
    ֶߍ
    1)1͕޷͖
    ͦͷଞ ৅͕޷͖

    ਤ͸ΠϝʔδͰ͢

    View Slide

  7. 8IBUNBLFXJUI1)1





    8FCΞϓϦ
    ։ൃπʔϧϥΠϒϥϦ
    $-*ΞϓϦ
    (6*ΞϓϦ
    ͦͷଞ +7. ϑΝϛίϯ

    FUDʜ

    ਤ͸ΠϝʔδͰ͢

    View Slide

  8. wίϯϐϡʔλʔ͕දݱ͢ΔΞϧΰϦζϜΛ
    ֶͿ
    wࢦ͕͍ࣔ͋·͍Ͱ͸͍͚ͳ͍ͷͰɺޡΓ͕
    গͳ͘ͳΔ*%&Λར༻͢Δ
    wݴޠಛ༗ͷར༻ํ๏΍पล஌ࣝΛֶͿ
    wॻ͍ͯಈ͔͢
    -FBSO1SPHSBNNJOH
    https://www.amazon.co.jp/dp/4798149772
    http://algorithm.wiki/ja/app/

    View Slide

  9. wΞΠσΞΛΑΓૣ͘ܗʹ
    wίϛϡχςΟ͕׆ൃ

    8):1)1

    View Slide

  10. http://gihyo.jp/news/report/2015/12/1401

    View Slide

  11. wίϯϐϡʔλʔ͕දݱ͢ΔΞϧΰϦζϜΛ
    ֶͿ
    wࢦ͕͍ࣔ͋·͍Ͱ͸͍͚ͳ͍ͷͰɺޡΓ͕
    গͳ͘ͳΔ*%&Λར༻͢Δ
    wݴޠಛ༗ͷར༻ํ๏΍पล஌ࣝΛֶͿ
    wॻ͍ͯಈ͔͢
    -FBSO1SPHSBNNJOH
    https://www.amazon.co.jp/dp/4798149772
    http://algorithm.wiki/ja/app/

    View Slide

  12. wίϯϐϡʔλʔ͕දݱ͢ΔΞϧΰϦζϜΛ
    ֶͿʢ-FFU$PEFͳͲ
    w1)14UPSNΛ࢖͓͏
    w8FCΞϓϦέʔγϣϯαΠτΛ࡞ΔͳΒ
    )5.-$44+BWB4DSJQU )551 T

    1)1 42-ͱଟذʹΘͨΔ
    wQIQBc43&1-JO1)14UPSN
    -FBSO1)1
    Read-Eval-Print Loop

    View Slide

  13. w)5.-ݴޠ͡ΌΜ
    w$44ݴޠ͡ΌΜ ࠷ޙ͕-͡Όͳ͍͚
    ͲελΠϧγʔτݴޠͱݴ͍·͢

    w+BWB4DSJQUݴޠ͡ΌΜ
    w1)1͜͜ΛֶΜͰԿ͔Λ࡞Γ͍ͨʂ
    w42-ݴޠ͡ΌΜ
    "MPUPG4LJMMTOFFEFE

    View Slide

  14. View Slide

  15. Webアプリって

    15分でできるんでしょ?

    View Slide

  16. )JTUPSZ
    ݱࡏ
    )551
    )5.-
    +4
    1)1
    42-
    .PKBWJ
    "HBWJ
    4ZNGPOZ $BLF1)1
    $* ;FOE
    :JJ
    4MJN 'VFM -BSWFM "VSB Y
    https://github.com/pmjones/php-history

    View Slide

  17. PHPͷೖྗ͸HTTPϦΫΤετ

    ग़ྗ͸HTML͚ͩͲɺҰ୴๨ΕΑ͏
    PHP͔Β͸PDOܦ༝ͰSQL

    (Web APIͳΒHTTP CLIENT)
    ೖྗ
    ஝ੵ
    Ճ޻

    View Slide

  18. View Slide

  19. -FBSO8FC
    https://www.amazon.co.jp/dp/4873118042
    https://www.amazon.co.jp/dp/4774142042

    View Slide

  20. -FBSO42-3%#
    https://www.amazon.co.jp/dp/4297104083
    https://www.amazon.co.jp/dp/4774180661

    View Slide

  21. -FBSO1)1
    http://php.net/manual/ja/getting-started.php

    View Slide

  22. https://qiita.com/shibacho/items/20f6eee42083c620b556

    View Slide

  23. View Slide

  24. View Slide

  25. 5SZ3VO
    > -
    $ php -S 0.0.0.0:8080 -t src

    PHP Development Server started

    Listening on http://0.0.0.0:8080

    Document root is /var/src

    Press Ctrl-C to quit.
    $ php -a

    Interactive shell

    php > var_dump("Hello World!");

    string(12) "Hello World!"

    View Slide

  26. w1)1ͱ42-JUFΛΠϯετʔϧ͢Δ
    w)5.-λάͱ؆୯ͳ1)1ίʔυΛؚΜ
    ͩQIQϑΝΠϧΛ࡞ͬͯΈΔ

    http://php.net/manual/ja/tutorial.firstpage.php
    w)5.-ʹGPSNΛೖΕͯɺૹ৴͞Ε͖ͯͨ৘
    ใΛऔಘ͢Δ

    http://php.net/manual/ja/tutorial.forms.php

    http://php.net/manual/ja/language.variables.external.php
    w1%0Λ࢖ͬͯ%#ʹ஋Λอଘͯ͠ΈΔ

    http://php.net/manual/ja/book.pdo.php

    View Slide

  27. wؔ਺Λ࡞ͬͯΈΔ
    wϑΝΠϧΛ෼ׂͯ͠ΈΔ
    w֎෦ϥΠϒϥϦΛ࢖ͬͯΈΔ
    wΦϒδΣΫτࢦ޲ʹऔΓ૊ΜͰΈΔ
    wϑϨʔϜϫʔΫΛ࢖ͬͯΈΔ

    View Slide

  28. -PWF$PNNVOJUZ
    wશࠃ֤஍ͰΧϯϑΝϨϯε΍ษڧձ͕࣮ࢪ
    ͞Ε͍ͯ·͢
    w1)1Ϣʔβʔζ ೔ຊޠ
    4MBDLʹՃೖ͠
    ͯɺަྲྀ࣭໰ͯ͠ΈΑ͏ʂ

    ͪ͜Β͔ΒՃೖ



    IUUQTTMBDLJOQIQVTFST
    KBIFSPLVBQQDPN

    View Slide

  29. 5P#F1SPGFTTJPOBM
    w1)15IF3JHIU8BZ

    IUUQKBQIQUIFSJHIUXBZDPN
    wࣗ෼ͷମݧΛൃදͯ͠ΈΑ͏
    w044ͷιʔείʔυΛಡΜͰΈΔ
    w044ʹύονΛ౤͛ͯΈΑ͏

    View Slide

  30. Walk on road, hm? Walk left side, safe. Walk right side, safe.

    Walk middle, sooner or later, “get squish just like grape.”



    Here, karate, same thing.

    Either you karate do "yes" or karate do "no."

    You karate do "guess so,"just like grape. Understand?


    [ from Karate Kid / Mr.Miyagi]

    View Slide

  31. WJTJUNZCMPHHJUIVC
    https://github.com/sizuhiko
    http://blog.open.tokyo.jp

    View Slide