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

PHPを学ぶということ / phperkaigi-2019-phpstudy

PHPを学ぶということ / phperkaigi-2019-phpstudy

PHPをこれから学ぼうとしている人、現在学んでいる人が対象となります。
プログラミング言語を学ぶ、ということが初めての場合と、他の言語(例えば組み込みでC)を知っている場合とは違いがあります。
PHP勉強会などに参加する初学者には、言語を学ぶにも入り口がわかないという話を聞くことがあります。
そこで、このセッションでは前者を中心にした話から、PHPでプログラムを書くための学習方法の取り掛かりになる入り口を紹介する内容です。

Kenichiro Kishida

March 31, 2019
Tweet

More Decks by Kenichiro Kishida

Other Decks in Programming

Transcript

  1. 1)1ΛֶͿͱ͍͏͜ͱ
    1)1FS,BJHJ
    ,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. wίϯϐϡʔλʔ͕දݱ͢ΔΞϧΰϦζϜΛ
    ֶͿ
    wࢦ͕͍ࣔ͋·͍Ͱ͸͍͚ͳ͍ͷͰɺޡΓ͕
    গͳ͘ͳΔ*%&Λར༻͢Δ
    wݴޠಛ༗ͷར༻ํ๏΍पล஌ࣝΛֶͿ
    wॻ͍ͯಈ͔͢
    -FBSO1SPHSBNNJOH
    https://www.amazon.co.jp/dp/4798149772

    View Slide

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

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

    View Slide

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

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

    View Slide

  10. View Slide

  11. Webアプリって

    15分でできるんでしょ?

    View Slide

  12. )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

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

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

    (Web APIͳΒHTTP CLIENT)
    ೖྗ
    ग़ྗ
    Ճ޻

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  17. View Slide

  18. View Slide

  19. 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

  20. 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

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

    View Slide

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

    ͪ͜Β͔ΒՃೖ



    IUUQTTMBDLJOQIQVTFST
    KBIFSPLVBQQDPN

    View Slide

  23. 5P#F1SPGFTTJPOBM
    w1)15IF3JHIU8BZ

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

    View Slide

  24. 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

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

    View Slide