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

CakePHPの進化から読み解く、PHPフレームワークの"今"っぽさ/phperkaigi-2020

 CakePHPの進化から読み解く、PHPフレームワークの"今"っぽさ/phperkaigi-2020

PHPerKaigi2020での発表資料です(※配布用に改訂しています)

https://fortee.jp/phperkaigi-2020/proposal/ef0682ab-08b3-4129-ac1f-41b22c40021a

hideki kinjyo

February 10, 2020
Tweet

More Decks by hideki kinjyo

Other Decks in Programming

Transcript

  1. 「配布版」です © - BASE, Inc. • PHPerKaigi2020Ͱར༻ͨ͠εϥΠυΛ
 վగͨ͠΋ͷͰ͢ • ҎԼͷมߋ͕ߦΘΕ͍ͯ·͢

    • Ұ෦ͷදه౳ͷमਖ਼ • τʔΫ࣌ʹεΩοϓͨ͠಺༰ͷࠩ͠ࠐΈ • appendixͷ௥Ճ ➡PDFΛDLͨ͠ΒϦϯΫΛ։͚·͢ʂ
  2. © - BASE, Inc. ⾃⼰紹介 • ۚ৓लथ / ͖Μ͡ΐ͏ͻͰ͖ •

    GitHub: @o0h / Twitter: @o0h_ • BASE, Inc. (2019.10) / ج൫νʔϜ • ex Connehito Inc.(2015.04-) • ޷͖ͳFW͸CakePHP • ΞΠίϯ͸
 ඒຯ͍͠ࡪ਌ࢠကͷࣸਅͰ͢
  3. このトークで話したいこと © - BASE, Inc. • PHPͱͦΕΛऔΓר͘؀ڥ͸ɺͲ͏มΘͬ ͖͔ͯͨ • ͦΕʹ͋ΘͤͯɺCakePHP͸Ͳ͏มΘͬͯ

    ͖͔ͨ –CakePHP: ஌໊౓ͷߴ͍&ྺ࢙ͷ௕͍PHP੡FWͷ1 ͭͱͯ͠ • ʮ͜Ε͔Βʯʹ޲͖߹͏FWͷࡏΓํͱ͸
  4. このトークの対象者 © - BASE, Inc. • ʮϞμϯͬͯ͞ԿͩʁʯΛߟ͑ͯΈͨ͜ ͱͷ͋Δਓ • (ग़དྷΕ͹CakePHP2

    or 3Λར༻ͨ͜͠ͱ ͕͋ΔਓͩͱɺΑΓຯΘ͍ਂ͍͔΋) –৮ͬͨ͜ͱແ͍ਓͰ΋ຊےͷཧղʹ͸໰୊ͳ͍ Ͱ͢ʂ
  5. レガシーコード? © - BASE, Inc. ͜ΕΒͷߟ͑ํͷࠜఈʹ͸ ίʔυͷण໋ͷ؍఺͕ڞ௨͍ͯͦ͠͏ • ෗Γ΍͍͢(෗ͬͨ) VS

    ଱ٱ೥਺͕௕͍ • ϦʔμϏϦςΟɺςελϏϦςΟɺ
 ϦϑΝΫλϏϦςΟɺϙʔλϏϦςΟ
  6. “時代遅れ”、“現在”、 “未来” © - BASE, Inc. • ϨΨγʔίʔυͱ”ࠓͬΆ͍”ίʔυ͸
 (গͳ͔Βͣ)ٯͷํ޲ੑʹ͋Δ͸ͣ •

    ϨΨγʔ͕ʮ෗Δʯํ޲΁ͷ࡞༻ͳΒ
 ͦͷٯͷ“ࠓͬΆ͞”ͱ͸ɺଈͪ๷෗ࡎ • “ࠓͬΆ͞” = “ະདྷࢤ޲ͷ”ίʔυ
  7. モダンでやっていくとは © - BASE, Inc. “ࠓͬΆ͍”(=Ϟμϯͳ)ίʔυͱ͸ • NOT: ৽ػೳΛ੝ΓࠐΜͩ •

    IS: ະདྷ΁͍ͭͯߦ͚Δɾ४උ͕Ͱ͖͍ͯΔ ͷ͜ͱΛࢦ͢ͷͰ͸ʁ ຊτʔΫͷ
 ओுͷࠎࢠʹͯ͠࠷େͷओ؍
  8. 進化: ⽅向づけと推進⼒ © - BASE, Inc. • ιϑτ΢ΣΞ͸ͳͥਐԽ͢Δͷ͔ʁ –ϦʔϚϯͷ๏ଇ: ʮ࢖ΘΕ͍ͯΔؒ͸มԽ͠ଓ

    ͚Δʯ • ར༻ऀ͔Βͷʮ৽ػೳʯ΁ͷχʔζ͕͋ Δ͜ͱ͕ɺਐԽͷݯઘ APPENDIX - Programs, Life Cycles, and Laws of Software Evolution http://citeseerx.ist.psu.edu/viewdoc/ download?doi=10.1.1.116.3108&rep=rep1&type=pdf - ιϑτ΢ΣΞอकͷ๏ଇʢϦʔϚϯͷ๏ଇʣɺ͝ଘ஌Ͱ͔͢ʁɿ৿࡚म࢘ͷʮͲ͏΍ͬͯ͸͔ΔͷʁʯɿΦϧλφςΟϒɾϒϩά https://blogs.itmedia.co.jp/morisaki/2012/04/post-7e5d.html
  9. PHP as software © - BASE, Inc. • ͦ΋ͦ΋ʮPHPʯ΋1ͭͷιϑτ΢ΣΞ –ͭ·ΓFW΍ΞϓϦέʔγϣϯͱ


    ಉ͡ཧ۶͕എܠʹ͋ΓɺਐԽ͠ଓ͚͍ͯΔ • Ϣʔβʔ(=PHPίϛϡχςΟ)ͷ
 ϑΟʔυόοΫΛ࣮ݱ͢Δ͜ͱͰਐԽ
  10. “今っぽさ”とは何か? && なぜ変化するのか © - BASE, Inc. • ϨΨγʔ –อकɾมߋ͕೉͍͠ͷ͕ʮϨΨγʔʯ

    –݁Ռͱͯ͠ʮ෗ഊʯ͕ੜ͡ɺण໋͕ॖ·Δ • Ϟμϯ͞ –ϨΨγʔԽʹର͢Δ๷෗ࡎతͳཁૉͷ1ͭ • ৽ػೳ –ʮมߋʹڧ͍ίʔυʯΛॻͨ͘Ί
 ʮ৽͍͠ػೳ΍ॻ͖ํʯΛऔΓೖΕΔ
  11. “今っぽさ”を作るもの © - BASE, Inc. • ιϑτ΢ΣΞΛࢧ͑Δ΋ͷ͸ʁ –؀ڥ • ex:

    Ϋϥ΢υɺετϨʔδɺCPU –ݴޠ • ex: ϝδϟʔόʔδϣϯΞοϓ –ίϛϡχςΟ • ex: ύοέʔδϚωʔδϟɺςετϑϨʔϜϫʔΫ
  12. “今っぽさ”を作るもの © - BASE, Inc. • ؀ڥ ⁵ ݴޠ ⁵

    ίϛϡχςΟ • ͜ΕΒ͸૬ޓతͳӨڹΛٴ΅͠ͳ͕Βɺ
 ʮԿΛ͢΂͖͔ʯͱ͍͏ྗ͕ಇ͘ ➡ ਐԽΛଅਐ͢Δʮཁٻʯ
  13. © - BASE, Inc. ※ίίͰ͸શͯͷػೳมߋ౳ʹ͸৮Ε·ͤΜɻ
 
 ʮ࠷ۙͷPHPͷྺ࢙ʯʹ͍ͭͯ஌Γ͍ͨํ͸
 ଞʹࢀߟʹͳΔࢿྉ͕͋ΔͷͰͦͪΒΛɻ
 PHP͸ԿΛࣺͯɺͲΜͳྗΛखʹೖΕ͖ͯͨͷ͔ #phpcon

    https://www.pixiv.net/fanbox/creator/105589/post/691574
 
 pmjones/php-history: A list of the years-of-introductions of notable (to me) PHP framework and library projects.
 https://github.com/pmjones/php-history
  14. PHPの歴史のおさらい © - BASE, Inc. • CakePHP1 • PHP 4.4

    / 5.0 / 5.1 • Ruby On Rails 1.0 ೥ PHP4ϕʔε
  15. PHPの歴史のおさらい © - BASE, Inc. • CakePHP1 • PHP 4.4

    / 5.0 / 5.1 • Ruby On Rails 1.0 ೥ 4ܥ࠷ޙͷϚΠφʔόʔδϣϯ APPENDIX - PHP: PHP ͷྺ࢙ͱؔ࿈͢ΔϓϩδΣΫτ - Manual (※PHP5·Ͱͷ͋Β·͠) https://www.php.net/manual/ja/history.php
  16. PHPの歴史のおさらい © - BASE, Inc. • CakePHP1 • PHP 4.4

    / 5.0 / 5.1 • Ruby On Rails 1.0 ೥ ɾɾׂѪʂ
  17. PHPの歴史のおさらい © - BASE, Inc. • CakePHP1 • PHP 4.4

    / 5.0 / 5.1 • Ruby On Rails 1.0 ೥ spl_autoload_register()ͷ௥Ճ
  18. PHPの歴史のおさらい © - BASE, Inc. • PHP5.3 • PHP Standards

    Group ೥ ೥ • GitHub ໊લۭؒͷαϙʔτ
  19. PHPの歴史のおさらい © - BASE, Inc. • PHP5.3 • PHP Standards

    Group ೥ ೥ • GitHub ͦΕΛड͚ͯू·ͬͨͷ͕
 “Standards Group”
 (PHP-FIGͷલ਎) APPENDIX - PHP Standards and Best Practices for PHP 5.3+ Frameworks and Libraries https://news-web.php.net/php.standards/2
  20. PHPの歴史のおさらい © - BASE, Inc. • PHP5.3 • PHP Standards

    Group ೥ ೥ • GitHub ͦͷଞʹ΋ॏཁͳػೳ௥Ճଟ਺ɻ
 ౰ॳͷʮ࠷ޙͷPHP5ʯɻ
  21. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP6ͷஅ೦ • ॻ੶ʮύʔϑΣΫτPHPʯൃച

    • HipHop(=> HHVM/Hack) • RFC: SplClassLoader (PSR-0) APPENDIX - ຊ౰ʹ݁ߏύʔϑΣΫτͰͨ͠ – ॻධʮύʔϑΣΫτPHPʯ | ΤϯδχΞϒϩά | GREE Engineering https://labs.gree.jp/blog/ 2010/11/1978/ - appendix: ถFacebookɺPHPίʔυΛC++ίʔυʹม׵ͯ͠ߴ଎ʹ࣮ߦ͢ΔʮHipHop for PHPʯൃද | OSDN Magazine https://
  22. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP6ͷஅ೦ • ॻ੶ʮύʔϑΣΫτPHPʯൃച

    • HipHop(=> HHVM/Hack) • RFC: SplClassLoader (PSR-0) ࠾୒ͳΒͣɻ
 ҎޙɺStandards Groupͱͯ͠ ͸RFCΛग़͍ͯ͠ͳ͍ APPENDIX - PHP: rfc:splclassloader https://wiki.php.net/rfc/splclassloader
  23. PHPの歴史のおさらい © - BASE, Inc. ೥ • CakePHP2 • Laravel1

    • PHP-FIG • Composer + Packagist(։ൃ։࢝) PHP5.2.6+Λαϙʔτ
 (4.xΛ੾Γࣺͯ)
  24. PHPの歴史のおさらい © - BASE, Inc. ೥ • CakePHP2 • Laravel1

    • PHP-FIG • Composer + Packagist(։ൃ։࢝) PHPͷ“Standards”Ͱ͸ͳ͘ “Frameworks”ͷͨΊͷ૊৫΁ɻ
 ಉ೥தʹPSR-1/2/3Λࡦఆ APPENDIX - The Past, Present and Future of the PHP-FIG — SitePoint https://www.sitepoint.com/the-past-present-and-future-of-the-php-fig/
  25. PHPの歴史のおさらい © - BASE, Inc. ೥ • CakePHP2 • Laravel1

    • PHP-FIG • Composer + Packagist(։ൃ։࢝) ࣮૷؍఺Ͱ͸ɺ
 namespace & SPL AutoloadΛར ༻͠PSR-0ʹ४ڌͨ͠ϑϨʔϜ ϫʔΫɻ APPENDIX - Composer: Part 1 – What & Why | Nelmio Blog http://blog.nelm.io/2011/12/composer-part-1-what-why/
  26. PHPの歴史のおさらい © - BASE, Inc. ೥ • CakePHP2 • Laravel1

    • PHP-FIG • Composer + Packagist(։ൃ։࢝) ΤίγεςϜͱͯ͠͸ɺ
 (PEARͷ)தԝूݖతͳ؅ཧ͔Β ͷ୤٫
  27. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP5.4 ೥ •

    PHP5.5 ೥ • PHP5.6 • PHP-Parser v1.0.0 APPENDIX - Release PHP-Parser 1.0.0 · nikic/PHP-Parser https://github.com/nikic/PHP-Parser/releases/tag/v1.0.0
  28. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP5.4 ೥ •

    PHP5.5 ೥ • PHP5.6 • PHP-Parser v1.0.0 trait ഑ྻͷ୹ॖߏจ APPENDIX - PHP: ৽ػೳ - Manual https://www.php.net/manual/ja/migration54.new-features.php
  29. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP5.4 ೥ •

    PHP5.5 ೥ • PHP5.6 • PHP-Parser v1.0.0 generator finally APPENDIX - PHP: ৽ػೳ - Manual https://www.php.net/manual/ja/migration55.new-features.php
  30. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP5.4 ೥ •

    PHP5.5 ೥ • PHP5.6 • PHP-Parser v1.0.0 const, func΋useͰͷΠϯϙʔτՄೳʹ APPENDIX - PHP: ৽ػೳ - Manual https://www.php.net/manual/ja/migration56.new-features.php
  31. PHPの歴史のおさらい © - BASE, Inc. ೥ • CakePHP3 • PHP7

    • Phan 0.1 APPENDIX - Release Initial release 0.1 · phan/phan https://github.com/phan/phan/releases/tag/0.1
  32. PHPの歴史のおさらい © - BASE, Inc. ೥ • CakePHP3 • PHP7

    • Phan 0.1 εΧϥʔܕએݴ ໭Γ஋ͷܕએݴ Expectation / assert APPENDIX - PHP: ৽ػೳ - Manual https://www.php.net/manual/ja/migration70.new-features.php
  33. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP7.1 • PHPStan

    0.1 ೥ • PHP7.2 APPENDIX - PHPStan: Find Bugs In Your Code Without Writing Tests! https://medium.com/@ondrejmirtes/phpstan-2939cd0ad0e3
  34. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP7.1 • PHPStan

    0.1 ೥ • PHP7.2 nullableܕએݴ voidؔ਺ iterable ٖࣅܕ ෳ਺ྫ֎ͷ catch APPENDIX - PHP: ৽ػೳ - Manual https://www.php.net/manual/ja/migration71.new-features.php
  35. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP7.1 • PHPStan

    0.1 ೥ • PHP7.2 ந৅ϝιουͷΦʔόʔϥΠυ ύϥϝʔλͷܕͷ֦େม׵ objectܕએݴ APPENDIX - PHP: ৽ػೳ - Manual https://www.php.net/manual/ja/migration72.new-features.php
  36. PHPの歴史のおさらい © - BASE, Inc. ೥ • PHP7.3 ೥ •

    PHP7.4 • CakePHP4 PHP7.2+Λαϙʔτ APPENDIX - Raise minimum version of PHP to 7.2 for 4.0 · Issue #13103 https://github.com/cakephp/cakephp/issues/13103
  37. PHP .x後半〜5.x前半時代の進化 © - BASE, Inc. • ʙ2008೥ / ʙPHP5.2

    • Ruby on Railsͷొ৔࣌ظɺϑϧελοΫ FWͷོ੝ • CakePHP, Symfony, Zend Framework, Yii • ʮ1ͭͷFWͰ্ख͘΍Γ͍ͨʯงғؾʁ
  38. PHP .x後半時代の進化 © - BASE, Inc. • ʙ2014೥ / ʙPHP5.6

    • ໊લۭؒͷಋೖͱComposerͷొ৔ • PHP-FIG =ʮFWؒͷ૬ޓӡ༻ੑʯ • ʮෳ਺ϞδϡʔϧΛखܰʹѻ͍͍ͨʯง ғؾʁ
  39. PHP . 以降 © - BASE, Inc. • 2016೥ʙ /

    PHP7.0+ • ܕએݴɾExpectationͷಋೖ • ੩తղੳπʔϧͷ੝Γ্͕Γ • ʮPHPͰ΋ݻ͘ॻ͖͍ͨʯงғؾʁ
  40. PHPと”今っぽさ”のアップデート © - BASE, Inc. • “ࠓͬΆ͞”͸࣌୅ʹΑͬͯมԽ͍ͯ͠Δ • ʮେ͖ͳFWʯ͚ͩͰखͷಧ͔ͳ͍෦෼ͷ ։ൃޮ཰ɾ඼࣭΋ٻΊΒΕΔΑ͏ʹ

    • ͦΕΛ௥͏Α͏ʹʮݎ࿚͞ʯ΋ॏࢹ͞Ε ΔΑ͏ʹ APPENDIX - @phpc ʮWhat are the top three things you consider to have been the most important developments in PHP or its community in the 2010s?ʯ / Twitter https://twitter.com/phpc/status/1222979830939115521
  41. © - BASE, Inc. おさらいCakePHPの歴史 Y • 2005೥ϦϦʔε • PHP4Ҏ্

    Y • 2011೥ϦϦʔε • PHP5.2Ҏ্ Y • 2015೥ϦϦʔε • PHP5.4.16Ҏ্ Y • 2019೥ϦϦʔε • PHP7.2Ҏ্
  42. CakePHPの現状 © - BASE, Inc. • CakePHP4ܥstable –࠷৽͸4.0.3 • CakePHP3ܥ͸maintenance

    mode –ػೳ௥Ճ͸͞Εͣɺbug fix౳͕ओ –࠷৽͸3.8.10 (ڪΒ͘3.9.x͕࠷ऴόʔδϣϯ) • CakePHP2ܥ͸maintenance mode –ػೳ௥Ճ͸͞Εͣɺbug fixɾsecurity fix͕ओ –࠷৽͸2.10.20 APPENDIX - Safer, More Helpful CakePHP https://www.slideshare.net/markstory/safer-more-helpful-cakephp (Slide no.5-)
  43. .x/ .xのサポート期間 © - BASE, Inc. • ʮ4.0͕ग़ͨΒΞΫςΟϒαϙʔτऴྃʯͱએ ݴ͍ͯͨ͠ •

    2.x: –12ϱ݄ͷؒ͸bug fix΋ରԠ –18ϱ݄ͷؒ͸security fix͸ରԠ • 3.x: –4.0ͱޓ׵ੑͷਪਐ͸ܧଓ͢Δɻ৽ػೳ͸෇͚ͳ͍ –36ϱ݄ͷؒ͸security fix͸ରԠ
  44. 2020年の今から⾒たCakePHP © - BASE, Inc. • ʮComposerҎલʯͷFW –Πϯετʔϧ͕ʮखಈʯʹͳΔ –ͦΕʹΑΔຊମͷංେԽ •

    ʮPSRҎલʯͷFW –ͱΓΘ͚PSR-0ʙ2ͱ͍ͬͨʮॏཁʯͳϧʔϧʹ৐͔ͬΕ͍ͯͳ͍ • ͦͷଞͷ௧Έ –جຊઃܭ͕ʮ1.xʯͷ࣌୅ΛҾ͖ͣΓա͗ͨ –The current model class/system has served CakePHP well for the last 6 years(by Mark Story) APPENDIX - Model api changes · markstory/cakephp Wiki https://github.com/markstory/cakephp/wiki/Model-api-changes#problems
  45. .x -> .x © - BASE, Inc. • ComposerϕʔεͷΠϯετʔϧʹରԠʂ •

    PSR-1/2/4ରԠʂ • ʮMiddlewareʯʮCarbonʯ౳ͷ
 ”ࠓͬΆ͍”֓೦ͷಋೖʂ • ORMͷ࡮৽ʂ APPENDIX - 3.0 Roadmap · cakephp/cakephp Wiki https://github.com/cakephp/cakephp/wiki/3.0-Roadmap
  46. めでたしめでたし? © - BASE, Inc. • FWͱͯ͠͸Ұؾʹચ࿅͞Εͨ –͍ͪϢʔβʔͱͯ͠΋ʮ࢖͍৺஍͕ྑ͍ͳʯͱ ͍͏खԠ͑ •

    ͨͩ͠ɺ༨Γʹ΋มߋ͕ഁյతͰɺҠߦ ͕ࠔ೉ͳ΋ͷʹͳͬͨ APPENDIX - CakePHP - The Road Ahead https://www.slideshare.net/markstory/cakephp-the-road-ahead (Slide no.4-)
  47. いくつか問題がありそう © - BASE, Inc. • 2.0(2011೥) - 3.0(2015೥)Ͱ͋Ε͹
 ʮͨͬͨ4೥ؒʯʹݟ͑Δ͕ɺ


    ʮ2011೥ͷ࠷৽஍఺ʯ͔ΒͷδϟϯϓͰ͸ ͳ͍ • ͦͷؒʹPHPΛऔΓר͘ঢ়گ͕େ͖͘มԽ –CIͷීٴɺςετͷʮ౰ͨΓલʯԽ –ComposerͷσϑΝΫτελϯμʔυԽ
  48. Cake .x -> .xで⾝につけた「モダンさ」 © - BASE, Inc. CakePHP4લޙͰݟ͑ͯ͘Δ࢟੎ 1.

    Ϣʔβʔ΁ͷμϝʔδΛ཈੍͢Δ 2. ʮඪ४ʯʹد͓ͤͯ͘ 3. ίʔυ඼࣭Λ։ൃऀ/ར༻ऀʹͱͬͯอ ͪ΍͘͢
  49. OSSとして進化し続けるための⼒ © - BASE, Inc. • 2.x -> 3.xͰ͸ʮࣦഊʯͨ͠ –େن໛ͳഁյతมߋʹΑΔʮஅઈʯ

    –(MVCͷத৺తͳଘࡏͰ΋͋Δ)
 ʮϞσϧʯͷ࡞Γ͕ɺύϥμΠϜϨϕϧͰมߋ ΊͬͪΌΩπ͍ APPENDIX - ৽ ORM ΞοϓάϨʔυΨΠυ - 3.8 https://book.cakephp.org/3/ja/appendices/orm-migration.html
  50. OSSとして進化し続けるための⼒ © - BASE, Inc. • 4.xͰ͸ࣄલʹʮೈண཮ʯΛ࢓ࠐΜͩ –3.6͔Β͸ʮ4ͷͨΊͷ४උʯͱҐஔ͚ͮ –@deprecatedλάɺE_USER_DEPRECATEDΤϥʔ –ʮDEPRECATEDରԠ͓͚ͯ͠͹ಈ͘ʯํ਑

    APPENDIX - 3.6 - Add a deprecation warning helper. by markstory https://github.com/cakephp/cakephp/pull/11075 - Upcoming CakePHP Roadmap & Releases — Bakery https://bakery.cakephp.org/2017/06/23/upcoming-cakephp-roadmap.html - 3.6 ҠߦΨΠυ https://book.cakephp.org/3/ja/appendices/3-6-migration-guide.html - 3.7 ҠߦΨΠυ https://book.cakephp.org/3/ja/appendices/3-7-migration-guide.html - 3.8 ҠߦΨΠυ https://book.cakephp.org/3/ja/appendices/3-8-migration-guide.html
  51. 移⾏ツールの提供 © - BASE, Inc. • ->3.xͷ࣌΋Upgrade tool͸͕͋ͬͨɺ
 ʮࣗಈͰ׬ྃ͢ΔʯϨϕϧʹ͸ͳ͔ͬͨ •

    ->4.x͸RectorϕʔεʹҠߦ –͜ΕͰϢʔβʔ͔Β΋ϙʔλϒϧͳ஌ࣝͰʮҠ ߦπʔϧ΁ͷϑΟʔυόοΫʯ͕ߦ͍΍͘͢ APPENDIX - cakephp/upgrade: Upgrade tools for CakePHP meant to facilitate migrating from one version of the framework to another https://github.com/cakephp/upgrade - 4.0 ΞοϓάϨʔυΨΠυ https://book.cakephp.org/4/ja/appendices/4-0-upgrade-guide.html#rector - CakePHP3→CakePHP4ʹmigrateͯ͠Έͨ - ϥϯαʔζʢLancersʣΤϯδχΞϒϩά https://engineer.blog.lancers.jp/2019/12/ cakephp4_admin/
  52. PHPエコシステムとの距離 © - BASE, Inc. • PSRͷੵۃతͳద༻ –CakePHP͸FIGϝϯόʔ –ଟ͘ͷPSRʹରԠ •

    Φʔτϩʔυ(1+4)ɺίʔσΟϯάن໿(12)ɺHTTP ϝοηʔδ(5)/ϛυϧ΢ΣΞ(15)ɺϩΪϯά(3)ɺ Ωϟογϡ(16) • 4.1ͰίϯςφΠϯλʔϑΣΠε(11)ରԠ༧ఆ –͜ΕʹΑΓPHPίϛϡχςΟͷࢿ࢈ΛऔΓࠐΈ΍͘͢
  53. コード品質を保ちやすく © - BASE, Inc. • strict_typeͷ༗ޮԽ • Ҿ਺ɾ໭Γ஋ͷܕએݴ •

    PHPStanͷϨϕϧҾ্͖͛&Psalmͷซ༻ • PSR-12: Extended Coding Style APPENDIX - Update phpstan's config by ADmad · Pull Request #14194 · cakephp/cakephp https://github.com/cakephp/cakephp/pull/14194
  54. 追記 © - BASE, Inc. • ౰೔ͷ࣭ٙԠ౴ͷதͰʮPHP8ʹͳͬͨΒpreload͕ೖ ΔͷͰʯͱ͍͏ൃݴΛ͠·͕ͨ͠ɺਖ਼͘͠͸ʮJIT͕ೖ ΔͷͰʯͷؒҧ͍Ͱ͢ʂగਖ਼͍ͨ͠·͢ɻ •

    τʔΫޙɺ൓ԠΛ΋Βͬͨtweetͷز͔ͭʹରͯ͠ϒ ϩάʹͯϦΞΫγϣϯΛฦ͍ͯ͠·͢ɻซͤͯޚཡ͘ ͍ͩ͞ɻ –#phperkaigi ʹࢀՃ͖ͯ͠·ͨ͠ (day1) - େ޷͖ʂʹͪΑ͏ͼ https://daisuki.nichiyoubi.land/entry/2020/02/11/144838#π Πʔτ΁ͷϦΞΫγϣϯ