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

3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-

3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-

3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-

よしたろう

July 10, 2022
Tweet

More Decks by よしたろう

Other Decks in Programming

Transcript

  1. 1. Web 3૚ߏ଄ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ɾWebΫϥΠΞϯτ (ϒϥ΢β) ͱHTTP௨৴Λ ߦ͏ϓϩάϥϜ

    ex. Apache HTTP Server nginx ɾHTTPϦΫΤετʹରԠͨ͠ ॲཧΛߦ͍ʢCRUDʣ ΞϓϦέʔγϣϯͷ࣮ߦ݁ՌΛฦ͢ ʢܭࢉ݁Ռ΍औಘͨ͠σʔλʣ ɾAPαʔό͔Βͷཁٻ ʹै͍ॲཧΛ࣮ߦ͠ ݁ՌΛAPαʔόʹฦ͢ ※ड෇ ※۩ମతͳॲཧ ※σʔλϕʔε ex. MySQL PostgreSQL ex. PHP Java HTTP HTTP
  2. ΫϥΠΞϯτ 2. 3૚ΞʔΩςΫνϟͱMVCͷؔ܎ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ᶃHTTPϦΫΤετ Λड͚औΔ ᶈHTTPϨεϙϯε Λฦ͢

    ᶄHTTPϦΫΤετʹԠͨ͡ ॲཧʢσʔλऔಘͳͲʣ ᶇऔಘͨ͠σʔλ΍ܭࢉ݁ՌΛ HTTPϨεϙϯεͱͯ͠ฦ͢ ᶅAPαʔόϦΫΤετ ʹै͍SQLΛ࣮ߦ͠ DBΛૢ࡞͢Δ ᶅDBΛૢ࡞ͯ͠ औಘͨ͠σʔλΛ౉͢ ※ड෇ ※۩ମతͳॲཧ ※σʔλϕʔε HTTP HTTP CRUD ॲཧ݁Ռ
  3. ΫϥΠΞϯτ 2. 3૚ΞʔΩςΫνϟͱMVCͷؔ܎ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड෇ ※۩ମతͳॲཧ ※σʔλϕʔε HTTP

    HTTP ϓϨθϯςʔγϣϯ૚ ϏδωεϩδοΫ૚ σʔλΞΫηε૚ Ϣʔβʔͱͷ ΍ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड෇ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ΋͋Δ ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛ΋ͭ CRUD ॲཧ݁Ռ
  4. ΫϥΠΞϯτ 2. 3૚ΞʔΩςΫνϟͱMVCͷؔ܎ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड෇ ※۩ମతͳॲཧ ※σʔλϕʔε HTTP

    HTTP ϓϨθϯςʔγϣϯ૚ ϏδωεϩδοΫ૚ σʔλΞΫηε૚ Ϣʔβʔͱͷ ΍ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड෇ ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛ΋ͭ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ΋͋Δ View Controller Model CRUD ॲཧ݁Ռ
  5. ΫϥΠΞϯτ 2. 3૚ΞʔΩςΫνϟͱMVCͷؔ܎ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड෇ ※۩ମతͳॲཧ ※σʔλϕʔε HTTP

    HTTP ϓϨθϯςʔγϣϯ૚ ϏδωεϩδοΫ૚ σʔλΞΫηε૚ Ϣʔβʔͱͷ ΍ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड෇ ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛ΋ͭ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ΋͋Δ View Controller Model CRUD ॲཧ݁Ռ
  6. ΫϥΠΞϯτ 2. 3૚ΞʔΩςΫνϟͱMVCͷؔ܎ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड෇ ※۩ମతͳॲཧ ※σʔλϕʔε HTTP

    HTTP ϓϨθϯςʔγϣϯ૚ ϏδωεϩδοΫ૚ σʔλΞΫηε૚ Ϣʔβʔͱͷ ΍ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड෇ ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛ΋ͭ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ΋͋Δ View Controller Model CRUD ॲཧ݁Ռ
  7. ΫϥΠΞϯτ 3. Laravelʹ͓͚ΔMVC router web.php View Controller ArticleController.php Model app/Http/

    Requests/ Article.php ArticleRequest.php Migration /database/migrations/ 2020_12_18_001447_create_article_table.php articel.blade.php JS CSS img CRUD ॲཧ݁Ռ
  8. ΫϥΠΞϯτ 3. Laravelʹ͓͚ΔMVC router web.php View Controller ArticleController.php Model app/Http/

    Requests/ Article.php ArticleRequest.php Migration /database/migrations/ 2020_12_18_001447_create_article_table.php articel.blade.php JS CSS img HTTP Ϩεϙϯε ϨϯμϦϯά HTTP ϦΫΤετ URLͰRouting ඞཁͳΒ DBΞΫηε σʔλΛ౉͢ formͰ Submit ϰΝϦσʔγϣϯ ͯ͠ฦ͢ CRUD ॲཧ݁Ռ tableͷ ࡞੒ σʔλΛૹΔ
  9. 4. ੹຿ -୯Ұݪଇ- View Controller ArticleController.php Model Controller ͷ੹຿ Request

    (HTTP)Λѻ͏੹຿ •ೖྗʢHTTPϦΫΤετʣΛड͚औΓɺνΣοΫ͢Δ •ద੾ͳॲཧܥ΁஋Λ౉͢ •ϨεϙϯεΛฦ͢ <Request > ύϥϝʔλͷॲཧɺSessionͳͲHTTPݻ༗ͷ΋ͷ
  10. 4. ੹຿ -୯Ұݪଇ- View Controller ArticleController.php Model Article.php articel.blade.php View

    ͷ੹຿ ݟͨ໨ʹؔ͢ΔॲཧΛѻ͏੹຿ ҰൠతʹHTML,CSS,JSͳͲ
  11. 4. ੹຿ -୯Ұݪଇ- View Controller ArticleController.php Model Article.php articel.blade.php Modelͷ੹຿

    ϩδοΫʹؔ͢ΔॲཧΛѻ͏੹຿ •ModelͰControllerΛѻΘͳ͍ •ModelͰViewΛѻΘͳ͍ •DBૢ࡞ͱίΞͳϧʔϧ