Slide 1

Slide 1 text

༗໊FWΛ࠾༻͢Δʁ͠ͳ͍ʁ ྩ࿨5೥ʹ͓͚ΔΦϨΦϨϑϨʔϜͷཱͪҐஔ — ʲඇެࣜʳPHPΧϯϑΝϨϯε෱Ԭɾલ೔Meetup — 2023/06/23 — uzulla

Slide 2

Slide 2 text

ࣗݾ঺հ — uzullaͰ͢ — ໌೔ͷޕޙҰ൪ɺVaddy ϗʔϧͰϩάͷ࿩Λ͠·͢

Slide 3

Slide 3 text

༗໊FWΛ࠾༻… — ͢Δʁ — ͠ͳ͍ʁ — Ͱɺ·Α͍·͔͢ʁ

Slide 4

Slide 4 text

͠Ζ

Slide 5

Slide 5 text

׬

Slide 6

Slide 6 text

໎͏ʹ൑அͰ͖ͳ͍ — ͳʹ͔૝ఆ֎͕͋ͬͨͱ͖ʹͭΒ͍ؾ෼ʹͳΔ — ʮ੹೚͸ࣗ෼͕΋ͭʯϞνϕ͕Θ͔ͳ͍ — (≒ ͠Βͳ͍ਓ͕ͭͬͨ͘աڈͷෛ࠴Λϝϯς͢Δέʔεʹ΋͍ۙ΋ͷ͕͋Δ) — ໘౗ɾ೉͍͜͠ͱ͸ԡ͚ͭ͠Δͷ͕٢Ͱ͋Δ

Slide 7

Slide 7 text

ͦͷ্Ͱ — ʮuzulla͸(ੵۃతʹ)༗໊FWΛ࢖Θͳ͍κʂʂʂʯ

Slide 8

Slide 8 text

ͱ͜ΖͰେखFWͱ͸ԿͰ͔͢ʁ — ਖ਼௚ͳͱ͜Ζɺ৽نͰ͍͏ͳΒ͹ — Laravel — Symfony — ೋڧͰଞ͸ݕ౼͢Δඞཁ͕ͳ͍ɻ — (Micro FWͱͯ͠Slimͱ͔͸͋Δ͕) — ʮFW·ͱΊʂʯΈ͍ͨͳهࣄͰ৭ʑͳ΋ͷΛݟΔͰ͠ΐ͏͕(ݕӾ࡟আ)

Slide 9

Slide 9 text

ͨͩ… — େ఍LaravelͰ͢ΑͶ — ཧ༝ͱ͔ͳ͘ɺݱ࣮ͱͯ͠ — ͡Ό͋LaravelͷHPΛಡΜͰ(Ҿ༻ͯ͠)Έ·͠ΐ͏

Slide 10

Slide 10 text

Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.

Slide 11

Slide 11 text

Laravel͸ɺදݱྗ๛͔ͰΤϨΨϯτͳγϯ λοΫεΛ࣋ͭWebΞϓϦέʔγϣϯϑϨʔ ϜϫʔΫͰ͢ɻࢲͨͪ͸͢ͰʹجૅΛݻΊ͓ͯ Γɺখ͞ͳ͜ͱʹ೰Ή͜ͱͳ͘ɺࣗ༝ʹ૑଄ ͢Δ͜ͱ͕Ͱ͖·͢ɻ

Slide 12

Slide 12 text

Laravel values beauty. We love clean code just as much as you do. Simple, elegant syntax puts amazing functionality at your fingertips. Every feature has been thoughtfully considered to provide a wonderful developer experience.

Slide 13

Slide 13 text

Laravel͸ඒ͠͞Λେ੾ʹ͠·͢ɻࢲͨͪ͸օ ͞Μͱಉ͡Α͏ʹ͖Ε͍ͳίʔυΛѪ͍ͯ͠ ·͢ɻγϯϓϧͰΤϨΨϯτͳߏจʹΑΓɺૉ ੖Β͍͠ػೳΛ͋ͳͨͷࢦઌʹ΋ͨΒ͠·͢ɻ ͢΂ͯͷػೳ͸ɺૉ੖Β͍͠։ൃऀମݧΛఏڙ ͢ΔͨΊʹߟ͑ൈ͔Εͨ΋ͷͰ͢ɻ

Slide 14

Slide 14 text

Α͘Θ͔ΒΜʂ

Slide 15

Slide 15 text

Out of the box, Laravel has elegant solutions for the common features needed by all modern web applications. It's time to start building amazing applications and stop wasting time searching for packages and reinventing the wheel.

Slide 16

Slide 16 text

Laravelʹ͸ɺ࠷৽ͷWebΞϓϦέʔγϣϯͰ ඞཁͱ͞ΕΔҰൠతͳػೳͷͨΊͷΤϨΨϯ τͳιϦϡʔγϣϯ͕༻ҙ͞Ε͍ͯΔͨΊɺ͢ ͙ʹར༻Ͱ͖·͢ɻύοέʔδͷݕࡧ΍ंྠͷ ࠶ൃ໌ʹ࣌ؒΛඅ΍͢ͷ͸΍Ίͯɺૉ੖Β͠ ͍ΞϓϦέʔγϣϯΛ࡞Γ࢝ΊΔ࣌Ͱ͢ɻ

Slide 17

Slide 17 text

Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in most web projects.

Slide 18

Slide 18 text

Laravel͸ɺදݱྗ๛͔ͰΤϨΨϯτͳγϯ λοΫεΛ࣋ͭϑϨʔϜϫʔΫͰ͢ɻࢲͨͪ͸ ։ൃ͸ָͯ͘͠૑଄తͳମݧͰͳ͚Ε͹ਅʹ ॆ࣮ͨ͠΋ͷʹ͸ͳΒͳ͍ͱߟ͍͑ͯ·͢ɻ Laravel͸ɺ΄ͱΜͲͷWebϓϩδΣΫτͰ࢖ ༻͞ΕΔҰൠతͳλεΫΛ؇࿨͢Δ͜ͱͰɺ ։ൃͷۤ௧ΛऔΓআ͘͜ͱΛࢼΈ͍ͯ·͢ɻ

Slide 19

Slide 19 text

͜ͷ͋ͨΓ͸एׯղΔ — ͭ·ΓɺLaravelʹʮ৐Δʯ͜ͱͰɺҰൠతͳ΢Σϒ։ൃλεΫͷ໘౗ͳॴΛݞ୅ΘΓ͠ ͯ͘ΕΔ — ͍͢͝Ͷʂ

Slide 20

Slide 20 text

ͯ͞ɺSymfony͸ʁ

Slide 21

Slide 21 text

Symfony is a set of reusable PHP components... The standard foundation on which the best PHP applications are built. Choose any of the 50 stand-alone components available for your own applications.

Slide 22

Slide 22 text

symfony ͸࠶ར༻Մೳͳ PHP ίϯϙʔωϯτ ͷηοτͰ͢... ࠷ߴͷ PHP ΞϓϦέʔγϣϯ Λߏங͢ΔͨΊͷඪ४తͳ౔୆Ͱ͢ɻ50ͷε λϯυΞϩϯίϯϙʔωϯτͷத͔Βɺ͋ͳ ͨࣗ਎ͷΞϓϦέʔγϣϯͷͨΊʹར༻Ͱ͖ Δ΋ͷΛબΜͰ͍ͩ͘͞ɻ

Slide 23

Slide 23 text

— ·ͣɺFWͱ͔͍͍ͯͳ͍ — ίϯϙʔωϯτ(ϥΠϒϥϦ)ͱ͔͍ͯ͋Δɻ

Slide 24

Slide 24 text

— https://symfony.com/why-use-a-framework

Slide 25

Slide 25 text

A framework is not absolutely necessary: it is “just” one of the tools that is available to help you develop better and faster!

Slide 26

Slide 26 text

Better, because a framework provides you with the certainty that you are developing an application that is in full compliance with the business rules, that is structured, and that is both maintainable and upgradable.

Slide 27

Slide 27 text

Faster, because it allows developers to save time by re-using generic modules in order to focus on other areas. Without, however, ever being tied to the framework itself.

Slide 28

Slide 28 text

ϑϨʔϜϫʔΫ͸ઈରʹඞཁͱ͍͏Θ͚Ͱ͸͋ Γ·ͤΜɻϑϨʔϜϫʔΫ͸ɺΑΓྑ͘ɺΑΓ ଎͘։ൃ͢ΔͨΊʹར༻Ͱ͖Δπʔϧͷ "୯ͳ Δ "1ͭʹ͗͢·ͤΜʂ

Slide 29

Slide 29 text

ϑϨʔϜϫʔΫ͸ɺϏδωεϧʔϧʹ׬શʹ४ ڌ͠ɺߏ଄Խ͞ΕɺϝϯςφϯεͱΞοϓά Ϩʔυ͕ՄೳͳΞϓϦέʔγϣϯΛ։ൃͯ͠ ͍Δͱ͍͏֬৴Λ༩͑ͯ͘ΕΔͨΊɺΑΓྑ͍ ΋ͷʹͳΓ·͢ɻ

Slide 30

Slide 30 text

։ൃऀ͸ɺ൚༻తͳϞδϡʔϧΛ࠶ར༻͢Δ͜ ͱͰ࣌ؒΛઅ໿͠ɺଞͷ෼໺ʹूத͢Δ͜ͱ ͕Ͱ͖ΔͨΊɺΑΓ଎͘։ൃ͢Δ͜ͱ͕Ͱ͖ ·͢ɻ͔͠͠ɺϑϨʔϜϫʔΫࣗମʹറΒΕΔ ͜ͱ͸͋Γ·ͤΜɻ

Slide 31

Slide 31 text

ͭ·Γ — ʮ൚༻Ϟδϡʔϧ(ϥΠϒϥϦ)Λͨ͘͞Μ༻ҙͨ͠ΑʂʮඞཁͳΒ͹ʯબΜͰ͔ͭͬͯ Ͷʯ — ʮΞοϓάϨʔυύε(όʔδϣϯΞοϓ)Λॏཁࢹ͍ͯ͠ΔΑʯ

Slide 32

Slide 32 text

ʮಠࣗݟղʯ — Laravel͸ɺ͍ΘΏΔʮϑϨʔϜϫʔΫʯͰ͋Δ — Symfonyͷࢥ͏ʮϑϨʔϜϫʔΫʯ͸ϚΫϩ(ϑϧελοΫ)Ͱͳ͘ɺϛΫϩ(ϥΠϒϥϦ ܈)Ͱ͋Δ(ͱɺࢲ͸ཧղ͍ͯ͠Δ) — ͜ͷ఺͕ରরతͰ͋Δ — (ͳ͓ɺLaravelࣗମ͕SymfonyΛͨ͘͞Μ࢖͍ͬͯΔ)

Slide 33

Slide 33 text

ͱ͍͏ͱ͜ΖͰɺೋͭͷ͕ࠩΘ͔Δ — Laravelʮ։ൃऀָ͕͘͠(ʁ)։ൃ͢Δ؀ڥ(ʹϨʔϧ)Λఏڙ͢Δʯ — Symfonyʮ҆ఆతͳWebΞϓϦέʔγϣϯ։ൃΛαϙʔτ͢ΔϥΠϒϥϦΛఏڙ͢Δʯ — (ͨͿΜ)ଟ͘ͷਓ͸ʮ͜͏͠ͳ͍͞ʯͱݴΘΕ͍ͨ(FWΛߟ͑ͨ͘ͳ͍)ͷͰFWΛ͔͍ͭ ͍ͨɺ ͷͰɺLaravelΛ͔ͭ͏΂͖ͳΜͩΖ͏…͠ΒΜ͚Ͳ — ٯʹɺʮLaravel͕ϑΟοτ͠ͳ͍Μ͚ͩͲʁʯͱ͍͏ਓ͸SymfonyͳͲͷϥΠϒϥϦΛ ׆༻͢Ε͹Α͍ͩΖ͏

Slide 34

Slide 34 text

͜͜ʂ͜͜Ͱ͢ʂʂ — ͍ΖΜͳFWΛ͔͖͚ͭͬͯͨͲɺ(ϚΫϩͳɺϑϧελοΫͳ)FW͸ྲّྀΛڧ੍͢Δ(ྲّྀ Λ֎ΕΔͱͭΒ͍) — ͔͠͠ɺྲྀߦɾྲّྀ͸มΘ͍ͬͯ͘ — ྫ:ࠓͳΒόοΫΤϯυ͸API͚ͩͰ͍͍Ͱ͠ΐ — ಥવɺϨʔϧ͕ߦ͖ࢭ·ΓʹͳΔɺҠΓมΘΔͷ͕େม — ͷͰɺࢲ͸FWʹͷΓͨ͘ͳ͍ — ͷͰɺ(νϡʔτϦΞϧతͳ)Laravel͕޷͖Ͱ͸ͳ͍ɻ

Slide 35

Slide 35 text

͞Βʹ͍͑͹ — 15%ͷݱ৔Ͱ͸஍ࠈͷΑ͏ʹ޲͍ͯͳ͍ — ΍Γ͍ͨ͜ͱ͕Ͱ͖ͳ͍ɺͨͱ͑͹ — ෳ߹ओΩʔ — ʮϢʔβʔʯ͕৭ʑډΔ — DBΫΤϦΛνϡʔχϯά — ʮָ(≒खൈ͖)ͳػೳʯ͕੩తղੳͱ૬ੑѱ͗͢Δ — (͜Ε͸࡞ऀͷझຯΒ͘͠ɺ࠷ۙ͸վળ͞Εͯ…͍ΔΑ͏ͳ…͖͕͠ͳ͍Ͱ΋…)

Slide 36

Slide 36 text

΋͏ͪΐͬͱ௥ՃͰݴ͏ͱ — ࣮͸ʮݱ࣮ੈքͰͷLaravelͷ࢖͍ํʯυΩϡϝϯτ͕ෆ଍͍ͯ͠Δ — ॳ৺ऀ͕΍ΔઃܭΛͦͷ··εέʔϧ͕ͤͪ͞ — ʮνϡʔτϦΞϧϥϥϕϧʯ໰୊(ࢲͷಠ໋໊ࣗ) — ֤ࣾɺಠࣗʹLaravelͷ࢖͍ํΛఆٛͯ͠ΦϨΦϨLaravel͕஀ੜ͍ͯ͠Δ…() — ʮ͋Εʂʁʯ

Slide 37

Slide 37 text

Laravel͸͍͍ҙຯͰखൈ͖Λ͢ΔͨΊʹ͋Δ — ͱΓ͋͑ͣ׬੒ͤ͞ɺϦϦʔε͢Δ — ʮϦϦʔεͰ͖ͳ͚Ε͹ແՁ஋ʯ — ೲ඼ઌʹɺࡉ͔͍આ໌ͱ͔ͨ͘͠ͳ͍ — (ࣗ෼ͷίʔυ͕࠷খݶʹͳΔͷͰ) — ͜͏͍͏ͷͳΒΑ͍ͩΖ͏ͱ͓΋͍·͢ — (ͷͰɺςετ΍࢓༷ॻ͕ͳ͍ͱཱࣗ͠ͳ͍ঢ়ଶʹͳΓ·͢)

Slide 38

Slide 38 text

Laravel͕޲͔ͳ͍έʔε — LaravelͷϨʔϧʹ৐Βͳ͍(৐Εͳ͍) — ʮ࣌୅ͷվֵʯΛ͑ͯ͜࢖͏༧ఆ͕͋Δ — ੩తղੳΛόϦόϦʹޮ͔͍ͤͨ

Slide 39

Slide 39 text

ͦ͜Ͱࢲ͸ΦϨΦϨϑϨʔϜϫʔΫʹͳΔ — ݁ՌɺϑϨʔϜϫʔΫ(≒ྲّྀ)Λࣗ࡞͢Δ͜ͱʹͳΔ — ΦϨΦϨϑϨʔϜϫʔΫ͸ — ʮྲّྀʯʹ͸ͱΒΘΕͨ͘ͳ͍ — Symfony(ΛؚΊͨ)༷ʑͳϥΠϒϥϦ͸ී௨ʹ͔ͭ͏ — (ͳ͓ɺ͜͜Ͱʮ…͋Εʁ͍ΖΜͳॴͰΈΔ͚ͲɺͲ͜Ͱ͔ͭ͏Μͩʁʯ͓ͬͯ΋ΘΕΔ Α͏ͳ৭ʑͳઃܭͷ࿩ɻૄ݁߹ͱ͔ɺ୯Ұ੹຿ͱ͔ɺPOPOͱ͔͕Ͱͯ͘Δ) — ʮLaravelΛ͔͍ͭͬͯΔʯͱ͍͍ͭͭɺʮΦϨΦϨLaravelʯʹͳͬͯ·ͤΜʁ

Slide 40

Slide 40 text

·ͱΊ — ͋ͳͨͷαʔϏε͸Laravelʹ͓͞·Γ͖Δͷʁ͓͓͖ͳαʔϏεͰLaravelΛ࢖͍ͬͯΔ ਓͱ࿩ͨ͠ʁ — νϡʔτϦΞϧ΍ɺެࣜͷ୹͍υΩϡϝϯτ͸͢΂ͯΛઆ໌͍ͯ͠ͳ͍(≒݁Ռɺࣗ෼ Ͱߟ͑Δඞཁ͕͋Δ) — େ͖͘ɺӬ͘ɺଟਓ਺Ͱ։ൃ͢ΔͳΒɺʮΈΜͳ͕ͦ͏͔ͩΒʯͰબ͹ͳ͍͠ɺͦ΋ͦ ΋ʮΈΜͳʯͱ࿩ͯ͠Δʁ — ઃܭ΍։ൃνʔϜ͕ઌɺϑϨʔϜϫʔΫ͸ޙ — (ࢼ࡞ʹ͸͍͍͚ͲͶɺݱ࣮͸ࢼ࡞͢ΔͱʮͦΕͰ͍͖·͠ΐ͏ʂʯͬͯݴΘΕΔ͡Ό Μwww) — ࣭໰͋Γ·͔͢ʁ