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

Symfony+Doctrine ORMで始める安全なモジュラモノリス

Symfony+Doctrine ORMで始める安全なモジュラモノリス

PHPカンファレンス2023「Symfony+Doctrine ORMで始める安全なモジュラモノリス」のスライドです。
## トーク概要
モノリス全盛期〜マイクロサービスブームを経て、近年、両者のいいところ取りができるアーキテクチャとしてモジュラモノリスが話題になることも増えてきました。PHPでも流行のLaravelフレームワークでのやり方やハマりポイントの記事がありますが、基本的に密結合を指向しているLaravelをベースにかなり無理をして実現している事例を見かけます。
私が数年にわたってSymfony+Doctrine ORMをベースにモジュラモノリスでアプリケーションを開発してきた経験から、Laravelベースで開発するよりも数段楽にモジュラモノリスを実現できることを証明したいと思います。

Hiromi Hishida

October 08, 2023
Tweet

More Decks by Hiromi Hishida

Other Decks in Programming

Transcript

  1. w 1)1FSྺ೥ w ೥ʙ೥ϑϦʔϥϯε։ൃऀ w ೥ʙ೥݄ʢגʣΧϧςοτίϛϡχέʔ γϣϯζΤϯδχΞɾϦʔυΤϯδχΞɾϚωʔδϟ ʔʢೝఆεΫϥϜϚελʔʣ w ޿ࠂӡ༻ޮ཰ԽπʔϧΛ࡞͍ͬͯ·ͨ͠ʢˡϞδϡ

    ϥϞϊϦε΍͍ͬͯͨͷ͸͜ͷͱ͖ʣ w ೥݄ʙʢגʣϦϯέʔδΤϯδχΞ w #UP#UP&༧๷ҩྍϓϩμΫτΛ࡞͍ͬͯ·͢ w ೔ຊ4ZNGPOZϢʔβʔձ /BHPZBQIQ w ໊ݹ԰ࡏॅʢ݄͔Β͸݄ʙճͷϖʔεͰ౦ژʹདྷͯ· ͢ʣ XFCʢͳͳ͏͐Ϳʣ ঁੑͷ݈߁՝୊αϙʔτ GFNDMF ͔͔Γ͚ͭอ݈ࢣGPS-*/& ϝϯλϧ΢ΣϧωεαʔϏε SBTJLB
  2. ϞδϡϥϞϊϦεͱ͸ w 3BJMT  IUUQTNFEJVNDPN!EBO@NBOHFTUIFNPEVMBSNPOPMJUISBJMT BSDIJUFDUVSFGCGD w 4IPQJGZ  IUUQTTIPQJGZFOHJOFFSJOHEFDPOTUSVDUJOHNPOPMJUI

    EFTJHOJOHTPGUXBSFNBYJNJ[FTEFWFMPQFSQSPEVDUJWJUZ w Ϟδϡʔϧʹ෼͚ͯ։ൃ͞Ε͍ͯΔ͕ɺϞϊϦεͱͯ͠σϓϩΠͰ͖ΔΞϓϦέʔγϣϯ w ϞϊϦεʜҰຕؠ w ϚΠΫϩαʔϏε΁ͷୈҰาͱͯ͠ϞδϡϥϞϊϦεʹ͠Α͏೿ͱɺ΋͏ͣͬͱϞδϡ ϥϞϊϦεͷ··Ͱ͍Δͷ͕ਖ਼ղ೿͕͋Δ
  3. 4ZNGPOZͱ%PDUSJOFͰ࢝ΊΔ҆શͳϞδϡϥϞϊϦε w 4ZNGPOZ w 4ZNGPOZ5IF'BTU5SBDLʢ೔ຊޠ༁͋ΓʣIUUQTTZNGPOZDPNCPPL w 4ZNGPOZυΩϡϝϯτʢӳޠͷΈʣIUUQTTZNGPOZDPNEPDDVSSFOUJOEFYIUNM w 4ZNGPOZDBTUTʢӳޠͷΈ ࣮ફతαϯϓϧଟ਺ʣIUUQTTZNGPOZDBTUTDPN

    w ೔ຊޠͰ࣭໰͸9 GPSNFSMZ5XJUUFS ͷϋογϡλάTZNGPOZ@KB͔QIQVTFSTKB4MBDLͷTZNGPOZKBνϟϯωϧ΁Ͳ͏ͧɻ w %PDUSJOF w %PDUSJOFυΩϡϝϯτೖޱʢӳޠͷΈʣIUUQTXXXEPDUSJOFQSPKFDUPSHQSPKFDUTPSNIUNM w %PDUSJOFͱ&MPRVFOUൺֱେશΞυϕϯτΧϨϯμʔʢ೔ຊޠʣIUUQTRJJUBDPNBEWFOUDBMFOEBSQIQEPDUSJOFPSN WTFMPRVFOU w ೔ຊޠͰ࣭໰͸9 GPSNFSMZ5XJUUFS ͷϋογϡλάTZNGPOZ@KB͔QIQVTFSTKB4MBDLͷTZNGPOZKBνϟϯωϧ΁Ͳ͏ͧɻ
  4. GBLFGPSUFF w Α͋͘ΔʢʁʣΧϯϑΝϨϯεӡӦࢧԉγεςϜ w ϩάΠϯͨ͠Ϣʔβʔ͸޲͚ʹͭͷػೳΛఏڙ w ϓϩϙʔβϧ౤ߘ w νέοτߪೖ w

    ϓϩϙʔβϧͷӾཡ͸ϩάΠϯ͠ͳͯ͘΋Ͱ͖Δ w ຊ౰͸؅ཧऀը໘ͱ͔εϙϯαʔืूͱ͔৭ʑඞཁͳΜ͚ͩͲʜࠓ೔͸ׂѪ͠·͢ 😜
  5. ·ͱΊ w 1)1ͰͷϞδϡϥϞϊϦεʹڵຯ͕͋Δ w ͲΜͳ෩ʹ࣮ݱͰ͖Δ͔ΠϝʔδͰ͖·͔ͨ͠ʁ w طʹϞδϡϥϞϊϦεʹ௅ઓࣦͯ͠ഊͨ͠ w ϞδϡϥϞϊϦεͱ͍͏ܗΛอͭίπΛ࣋ͪؼͬͯϦτϥΠͯ͠΄͍͠ w

    -BSBWFMͰϞδϡϥϞϊϦεΛ࣮ફͯۤ͠࿑͍ͯ͠Δ w ͨͿΜ΄΅&MPRVFOU͕ѱ͍ͷͰMBSBWFMEPDUSJOFΛ࢖ͬͯ-BSBWFMͷதͰ%PDUSJOFΛ࢖ͬͯΈͯ΄͍͠ w ີ݁߹ࢤ޲ͷ-BSBWFMͰͳ͘ૄ݁߹ࢤ޲ͷ4ZNGPOZʹҠߦ͢Δ͜ͱ΋બ୒ࢶʹೖΕͯΈͯ΄͍͠ w શͯͷϓϩμΫτɾϓϩδΣΫτʹద༻͢΂͖΋ͷͰ͸ͳ͍ w ಠཱͨ͠ػೳ͕ෳ਺͋ͬͯɺͦΕͧΕผͷ։ൃऀͰ։ൃ͍ͨ͠ͱ͖͸ݕ౼ͯ͠ྑ͍