Slide 1

Slide 1 text

PHPೖ໳

Slide 2

Slide 2 text

3.PHPίϛϡχςΟͷݱঢ় Agenda 2.PHPͷྺ࢙ 1.ࣗݾ঺հɾձࣾ঺հ 4.PHPΛֶͿϝϦοτ 7.PHPͷҊ݅ࣄ৘ 6.PHP͸ॳֶऀʹ޲͍͍ͯΔͷ͔ʁ 5.PHPͷ֓ཁɾϝϦοτ

Slide 3

Slide 3 text

ࣗݾ঺հɾձࣾ঺հ

Slide 4

Slide 4 text

1.ࣗݾ঺հ ◆໊લ ླ໦ ޹೭(Suzuki Takayuki) ※ಉ੏ಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ ◆ࣗݾ঺հ ɾ1990೥ɺਆಸ઒ݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015೥ʹϑϧεϐʔυʹೖࣾ͠ɺ2017೥ʹಠཱɻ ɾݱࡏ͸ɺडୗ։ൃΛ΍ΓͭͭɺࣗࣾWebαʔϏεΛ։ൃதɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺ໺ٿ؍ઓ ◆εΩϧ PHP,Symfony2,CakePHP3,Laravel5, JavaScript,backbone.js,Angular.js

Slide 5

Slide 5 text

Copyright Re:Build.inc All Rights Reserved. 1.ձࣾ঺հ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ໨̍̒−̕ ◆ࣄۀ಺༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 6໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪ঑ͯ͠·͢ʂ

Slide 6

Slide 6 text

6 ࣗݾ঺հ ԭೄͰෳ਺ͷίϛϡχςΟΛӡӦͯ͠·͢

Slide 7

Slide 7 text

7 ࣗݾ঺հ 7/13ʹLaravel ΧϯϑΝϨϯε ୆࿷Ͱ΋ొஃ͖ͯ͠·ͨ͠ʂ ৄ͘͠͸ͪ͜Β
 https://dev.re-build.company/ entry/2019/07/23/193108

Slide 8

Slide 8 text

2013/04 ৽ଔͰ౦ژͷITϕϯνϟʔاۀʹ γεςϜΤϯδχΞͱͯ͠ೖࣾ 2015/07 ౦ژͷ্৔اۀͰWebΤϯδχΞ ͱͯ͠ೖࣾ ܦྺ 2015/07 ϑϦʔϥϯεΤϯδχΞͱͯ͠ ಠཱ 2017/11 ԭೄͰγεςϜ։ൃձࣾΛىۀ 2019/08 ౦ژͱԭೄͷاۀ༷͔Βͷ։ൃҊ݅Λ੥͚͍ͯΔɻ

Slide 9

Slide 9 text

ܦྺ·ͱΊ 4&4 4*FS  8FCܥࣗࣾ։ൃ ϑϦʔϥϯεΤϯδχΞ ىۀ डୗ։ൃ ελʔτΞοϓ ϓϩάϥϛϯάεΫʔϧͷߨࢣ ͳͲɻ෯޿͘ۀ຿Λ͖ͯ͠·ͨ͠ɻ

Slide 10

Slide 10 text

1 0 ࣗࣾWebαʔϏεͷ։ൃ ɾαʔϏε໊ Tadoru
 https://tadoru.work/
 
 ɾγεςϜ֓ཁ ΤϯδχΞಛԽܕͷ ϦϑΝϥϧ Ϋϥ΢υιʔγϯά

Slide 11

Slide 11 text

ϑϩϯτΤϯυ αʔόαΠυ શମߏ੒ Gitlab CI ϥΠϒϥϦͳͲ Firebase ϥΠϒϥϦͳͲ

Slide 12

Slide 12 text

1)1ͷྺ࢙

Slide 13

Slide 13 text

PHP1 PHP5.3 PHP5.6 PHP7 1994 ೥ʹ Rasmus Lerdorf ͕ΦϯϥΠϯ Ͱެ։͍ͯ͠Δܦྺ ॻͷΞΫηεཤྺΛ ௐ΂ΔͨΊʹ࢖ΘΕ ͍ͯ·͕ͨ͠ɺ ൴͸ ͦͷεΫϦϓτ܈Λ ʮPersonal Home Page Toolsʯͱ໊෇ ͚·ͨ͠ɻ ɾ໊લۭؒͳͲ΋࢖͑ ΔΑ͏ʹͳͬͯɺ΍ͬ ͱαʔόαΠυͰ։ൃ ͠΍͘͢ͳͬͨɻ ɾ໊લۭؒͷαϙʔ τɺ ੩త஗Ԇଋറɺ gotoԋࢉࢠɺΫϩʔδϟɺ PHPΞʔΧΠϒ (phar)ɺ ॥؀ࢀরʹର͢ΔΨϕʔ δίϨΫγϣϯ ఆ਺ࣜɺՄม௕Ҿ਺ؔ ਺ɺҾ਺ͷల։ԋࢉࢠ (...)ɺྦྷ৐ԋࢉࢠ(**)ɺ ఆ਺ͱؔ਺ʹର͢Δ useจɺର࿩ܕσόο ΨphpdbgΛSAPIϞ δϡʔϧͱͯ͠όϯυ ϧɺͦͷଞࡉ͔ͳվળɻ ɾPHP5ܥͱPHP7ܥͷ ଎౓͸2ഒҎ্ߴ଎ʹ ͳͬͨ ɾnull߹ମԋࢉࢠ??ɺ ؔ਺ͷ໭Γ஋ͷએݴߏ จ[16]ɺεΧϥʔܕͷ λΠϓώϯςΟϯάɺ Ӊ஦ધԋࢉࢠ<=> PHPͷྺ࢙ 1995-06-08 2009-06-30 2014-08-28 2015-12-03 https://ja.wikipedia.org/wiki/PHP_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)

Slide 14

Slide 14 text

PHPͷྺ࢙ https://serversenshi.com/php5-php7/ άϥϑ͸wordpress4.1.1্Ͱ PHP5.3~PHP7·ͰΛಈ͔ͨ࣌͠ͷࠩͰɺ ਺஋͕େ͖͍΄Ͳߴ଎ͱݴ͑·͢ɻ ݟͯ෼͔Δ௨Γɺࠩ͸ྺવͰPHP5ͷࠒʹ ൺ΂ɺPHP7͕֨ஈʹ଎͘ͳͬͨ

Slide 15

Slide 15 text

୲౰ऀ͕͍ͳ͘ͳͬͨಠࣗϑϨʔϜϫʔΫʹΑΓٕज़తෛ࠴  υΩϡϝϯτ͕ͳ͍ͱϑϨʔϜϫʔΫͷ࢓༷͕ଐਓԽ͠ ͯ͠·͏ɻ  ಠࣗϑϨʔϜϫʔΫΛ࡞ͬͨ୲౰ऀ͕ࣙΊͯ͠·͏ͱϝ ϯςφϯε͕ࠔ೉ʹͳΔɻ  ੬ऑੑͷΞοϓσʔτΛࣗ෼Ͱ΍Βͳ͚Ε͹͍͚ͳ͍ɻ PHPͷҋͷྺ࢙

Slide 16

Slide 16 text

DPEFJHOJUFSʹΑΔεύήςΟίʔυ  ܰྔϑϨʔϜϫʔΫ  ֶशίετ͕௿͍͕ɺϧʔϧ͕΄ͱΜͲແ͍  ୭͔͕͔ͬ͠ΓϧʔϧΛܾΊͳ͍ͱɺΈΜͳ͕֤ʑ ͷॻ͖ํͰॻ͘ͷͰεύήςΟʹͳΓ͕ͪɻ  ٕज़తෛ࠴ʹͳΓ͕ͪ PHPͷҋͷྺ࢙

Slide 17

Slide 17 text

1)1ίϛϡχςΟͷݱঢ়

Slide 18

Slide 18 text

1)1ίϛϡχςΟͷݱঢ় - PHPΧϯϑΝϨϯε͚ͩͰ΋ɺ6ΧॴͰ։ ࠵͞Ε͍ͯΔ - ϑϨʔϜϫʔΫ͕ଟ͍෼ɺPHPࣗମͷί ϛϡχςΟ͕ଟ͍ - ओ؍͕ͩɺॿ͚߹͍ͷจԽ͕͋Δͱࢥ͏ɻ ౦ژ ෱Ԭ ԭೄ ๺ւಓ ઋ୆ େࡕ

Slide 19

Slide 19 text

1)1ίϛϡχςΟͷݱঢ় ࣗ෼ࣗ਎΋PHPΧϯϑΝϨϯεԭೄͷ࣮ߦҕһ௕Λ΍͍ͬͯ·͢ʂ ໿200ਓن໛Ͱ10/12ʹ։࠵༧ఆʂ εϐʔΧʔ͸೔ຊશࠃ͔ΒPHPerͷํʹొஃͯ͠௖͖·͢ʂ ւ֎͔Β΋ొஃ௖͖·͢ʂ

Slide 20

Slide 20 text

1)1ίϛϡχςΟͷݱঢ় ೔ຊશࠃͷΧϯϑΝ ϨϯεӡӦάϧʔϓͰ αϙʔτମ੍͕ॆ࣮ ͍ͯ͠Δ

Slide 21

Slide 21 text

1)1ίϛϡχςΟͷݱঢ় Slackίϛϡχ ςΟ΋׆ൃʂ

Slide 22

Slide 22 text

1)1ίϛϡχςΟͷݱঢ়

Slide 23

Slide 23 text

1)1ΛֶͿϝϦοτ

Slide 24

Slide 24 text

- PHPશମͰݴ͏ͱٻਓ΍ίϛϡχςΟ͕ͱͯ΋େ͖͍ - ஍ํͰಇ͘ͳΒPHP͕ٻਓଟΊ - ஍ํͰLaravel͸গͳ͍ - ϑϨʔϜϫʔΫͷબ୒ࢶ͕ଟ͍෼ɺ৽௠୅ँ͕ྑ͍ɻྑ͍PHP ϑϨʔϜϫʔΫ͕ग़Ε͹ɺΈΜͳͦͬͪʹҠΔɻ 1)1ΛֶͿϝϦοτ

Slide 25

Slide 25 text

1)1ͷ֓ཁɾϝϦοτ

Slide 26

Slide 26 text

PHPͱ͸ PHPͱ͸ಈతʹWebϖʔδΛੜ੒͢Δ͜ͱ͕Ͱ ͖ΔαʔόʔαΠυͷεΫϦϓτݴޠͰ͢ɻଞͷ ϓϩάϥϛϯάݴޠͱൺֱͯ͠࢓༷΍จ๏͕؆ ୯ͳͨΊशಘ͠΍͍͢ͱݴΘΕ͍ͯ·͢ɻ·ͨ MySQLͳͲͷσʔλϕʔεͱͷ࿈ܞ͕༰қͳ͜ ͱͳͲ͔ΒɺWordPressΛؚΊͨWebΞϓϦ έʔγϣϯͷ։ൃʹ΋Α͘࢖ΘΕΔ༗໊ͳεΫ ϦϓτݴޠͰ΋͋Γ·͢ɻ https://www.kagoya.jp/howto/wordpress/php/

Slide 27

Slide 27 text

PHPͰ࡞ΒΕΔγεςϜ͸ͲΜͳ΋ͷ͕ଟ͍͔ʁ ɾECαΠτ - EC-CUBE ɾWebϝσΟΞ - WordPress ɾϙʔλϧαΠτ

Slide 28

Slide 28 text

LaravelҎ֎ͷPHPϑϨʔϜϫʔΫ͸ݮগ܏޲ʹ͋ΔΑ͏Ͱ͢ɻ࣍ʹւ֎ͷݱঢ়ΛݟͯΈ·͢ɻ ೔ຊͷPHPϑϨʔϜϫʔΫͷಈ޲

Slide 29

Slide 29 text

೔ຊΑΓલ͔ΒLaravelͷਓؾ͕ग़͍ͯΔ ੈքͷPHPϑϨʔϜϫʔΫͷಈ޲

Slide 30

Slide 30 text

3େϑϨʔϜϫʔΫͷΠϝʔδ(एׯɺओ؍΋ؚΉ) CakePHP Laravel Symfony ૣ͍ ஗͍ ௿͍ ߴ͍ ։ൃ଎౓ ֶशίετ

Slide 31

Slide 31 text

1)1͸ॳֶऀʹ޲͍͍ͯΔͷ͔ʁ

Slide 32

Slide 32 text

ԭೄͷεΫʔϧͰ͸PHPࣗମɺڭ͑ʹ͍͘ͱ͍͏൑அʹ ͳͬͨɻ PHP͕ॳֶऀʹڭ͑ʹ͍͘ཧ༝ - Sinatraͷ֊૚ͷϑϨʔϜϫʔΫ͕ͳ͍ - ಠࣗϑϨʔϜϫʔΫ͸͚ͬ͜͏਎ʹͳΔ͚Ͳɺڭҭίετ͕͔͔Δ - ೔ຊͩͱrubyΑΓ͸هࣄগͳΊ - Laravel͸railsΑΓ͸هࣄগͳ͍ -BSBWFM͸ॳֶऀʹ޲͍͍ͯΔͷ͔ʁ

Slide 33

Slide 33 text

RubyͰݴ͏Sinatraʹ͍ۙͪΐ͏Ͳྑ͍ϑϨʔϜϫʔΫ͕ແ͍ (Slim͕͍͕ۙυΩϡϝϯτ͕গͳ͍) PHPجૅ ಠࣗϑϨʔϜϫʔΫ Laravel - ͔ͬ͠Γͱͨ͠
 νϡʔτϦΞϧ͸·ͩແ͍ Rubyجૅ Sinatra Rails - RailsνϡʔτϦΞϧ Rails Laravel -BSBWFM͸ॳֶऀʹ޲͍͍ͯΔͷ͔ʁ

Slide 34

Slide 34 text

ฐࣾͰͷ-BSBWFM࣮຿·Ͱͷ4UFQ εΫʔϧ΍ಠֶͰHTMLɺ CSSɺJS͘Β͍͸΍͓ͬͯ ͍ͯ΋Β͏ ݚमᶃ ੜͷPHPͰಠࣗϑϨʔϜϫʔ ΫͰܝࣔ൘੍࡞ ݚमᶄ LaravelͰϒϩά੍࡞ ݚमᶅ LaravelͰ࣮຿ 200࣌ؒ 300࣌ؒ (2ϲ݄ΠϯλʔϯͰݚम) 300࣌ؒ (2ϲ݄ΠϯλʔϯͰݚम) - ࠷ॳͷಠࣗϑϨʔϜϫʔΫͷ෦෼͸ઌഐ͕͋Δఔ౓ɺ ுΓ෇͍ͯڭ͑ͳ͍ͱɺڭࡐͱͯ͠ͷఏڙ͕೉͍͠ɻ - Laravel͸σΟϨΫτϦߏ଄ͳͲΛࣗ༝ʹ͍͡ΕΔ෼ɺ ॳֶऀʹͱͬͯ͸ɺࠞཚ͕ͪ͠ͳͷͰɺ਎ۙʹฉ͚Δ ਓ͕͍ͳ͍ͱݫͦ͠͏ OJT։࢝

Slide 35

Slide 35 text

ฐࣾͰͷະܦݧΤϯδχΞͷҭͯํ ໘઀Ͱ͸Լهͷ߲໨Λॏࢹ ɾࣗओֶशҙཉ ɾૉ௚͞ ɾϗ΢Ϩϯι΢Λ͔ͬ͠ΓͰ͖Δ͔ʁ

Slide 36

Slide 36 text

ฐࣾͰͷະܦݧΤϯδχΞͷҭͯํ ݚमͰ͸Լهͷ߲໨Λॏ఺తʹڭ͑Δ ɾ࣭໰ͷ࢓ํ ɾࣗݾεέδϡʔϧ؅ཧ ɾάάΔྗ ɾ։ൃͷָ͠͞ ɾϑϨʔϜϫʔΫʹґଘ͠ͳ͍ਂ͍ཧղ

Slide 37

Slide 37 text

ฐࣾͰͷະܦݧΤϯδχΞͷҭͯํ ࣾ಺Ͱͷڭҭମ੍ ɾ࣭໰ʹ͸ੵۃతʹ౴͑Δɻ ɾݚम୲౰ऀΛଐਓԽͤ͞ͳ͍ɻ ɾఆظతʹ࠲ֶܗࣜͰ୭͔͕ษڧձΛ͢Δɻ ɾձࣾͱͯ͠৽ਓʹڭ͑ΔจԽΛఆணͤ͞Δɻ

Slide 38

Slide 38 text

ݚमᶃ ੜͷPHPͰಠࣗϑϨʔϜϫʔΫͰϒϩά੍࡞ # PHPͰͷϒϩά࡞੒ݚम ## ཁ݅ - ੜͷPHPͷΈͰ࡞੒͢Δ͜ͱ(ϑϨʔϜϫʔΫ͸࢖Θͳ͍) ## ػೳҰཡ ɹ- Ϣʔβొ࿥ػೳ ɹ- ϩάΠϯػೳ ɹ- ϩάΞ΢τػೳ ɹ- هࣄొ࿥ػೳ ɹ- هࣄ࡟আػೳ ɹ- هࣄݕࡧػೳ ɹ- هࣄฤूػೳ ɹ- هࣄҰཡϖʔδϯάػೳ ɹ- ΧςΰϦొ࿥ػೳ ɹ- ΧςΰϦ࡟আػೳ ɹ- ΧςΰϦฤूػೳ ɹ- ΧςΰϦҰཡػೳ ɹ- λάొ࿥ػೳ ɹ- λά࡟আػೳ ɹ- λάฤूػೳ ɹ- λάҰཡػೳ ## ηΩϡϦςΟରࡦ ɹ- CSRFରࡦग़དྷ͍ͯΔࣄ ɹ- XSSରࡦ͕ग़དྷ͍ͯΔࣄ ɹ- SQLΠϯδΣΫγϣϯରࡦ͕ग़དྷ͍ͯΔࣄ ## MVCϞσϧ͕࣮ݱͰ͖͍ͯΔ͜ͱ ## ֤ೖྗ߲໨ʹରͯ͠όϦσʔγϣϯ͕ग़དྷ͍ͯΔࣄ(PHPଆͰߦ͏) - ඞਢνΣοΫ - ਺ࣈνΣοΫ - ϝʔϧΞυϨεܗࣜνΣοΫͳͲ ## PSR2ʹ४ڌ͍ͯ͠Δ͜ͱ ## ࢖༻͢Δٕज़ php7,apache,mysql ## ظݶ ○/○○·Ͱ

Slide 39

Slide 39 text

ݚमᶄ LaravelͰCRUDΞϓϦ࡞੒ # LaravelͰͷCRUDΞϓϦ࡞੒ݚम ## ཁ݅ - LaravelͰCRUDͷ͋ΔΞϓϦΛ࡞੒͢Δࣄ - جຊతʹ͸ࣗ෼ͷΞΠσΟΞͰ࡞Γ͍ͨΞϓϦΛ࡞੒͢Δ - ྫɿTwitterͬΆ͍ΞϓϦɺཱྀߦઌ৘ใετοΫΞϓϦͳͲɻ - ࣗ෼Ͱը໘ઃܭɺDBઃܭ͔Βߦ͏ɻ - ࣗ෼Ͱ࡞Γ͍ͨΞϓϦΛ࡞Δ͜ͱͰ։ൃ͢Δ͜ͱͷָ͠͞Λ஌ͬͯ΋Β͏ɻ

Slide 40

Slide 40 text

ݚमᶅ LaravelͰ࣮຿ -OJTܗࣜ -جຊతʹ͸ࣗࣾ։ൃͷػೳमਖ਼΍όάमਖ਼͔ΒೖΔɻ -ͬ͘͟ΓλεΫͷظݶ͸ܾΊΔ͕ɺ࠷ॳ͸ܰΊͷλεΫΛ͓ئ͍͢Δɻ -࣌ؒΛ͔͚ͯίʔυϨϏϡʔ͢Δɻ

Slide 41

Slide 41 text

1)1ͷҊ݅ࣄ৘

Slide 42

Slide 42 text

1)1ͷҊ݅ࣄ৘ Ruby PHP

Slide 43

Slide 43 text

1)1ͷҊ݅ࣄ৘ Rails Laravel

Slide 44

Slide 44 text

1)1Λ࢖͍ͬͯΔاۀ ࣗࣾ։ൃ डୗ։ൃ

Slide 45

Slide 45 text

·ͱΊ

Slide 46

Slide 46 text

- ਎ۙʹઌഐΤϯδχΞ͕ڭ͑ͯ͘ΕΔ؀ڥ͕͋ΔͳΒɺॳֶऀ͕PHP ͔ΒLaravelΛֶͿͷ͸Φεεϝʂ - ೔ຊͷPHPษڧձ΍ίϛϡχςΟ͸๛෋ͳͷͰɺΤϯδχΞ஥ؒ͸૿ ΍͠΍͍͢ɻ - Laravel͸RailsΑΓ͸ωοτͷهࣄগͳ͍ - Laravelͷٻਓ͸·ͩগͳ͘ɺελʔτΞοϓاۀ΍৽نͷडୗ։ൃͰ ࢖ΘΕ͍ͯΔέʔε͕ଟ͍ҹ৅ ·ͱΊ