ãã®èšäºã¯ãåå¿è ã®Webéçºè ã ãã§ãªããLaravel PHPãã¬ãŒã ã¯ãŒã¯ã調æ»ãã䟡å€ãããçç±ãšããããæäŸãããšã³ã·ã¹ãã ãç解ããã人ã察象ãšããŠããŸãã ãã®èšäºã¯LaravelããŒãžã§ã³5.4ã®é¢é£æã«æžãããŸããã 2017幎8æã«Laravel 5.5 ã®ãªãªãŒã¹ããªãªãŒã¹ãããããã«å€ãã®æ©èœãæäŸãããŸãã
å 容ïŒ
- Webéçºã®æŠèŠã以åã«äœãèµ·ãã£ãã®ãããããŠä»æ¥
- Webãããžã§ã¯ãã®äœæãéå§ããŸã
- ã¹ããŒãž1-ã³ãŒãäœæããã»ã¹
- ã¹ããŒãž2-ã³ãŒããã¹ã
- ã¹ããŒãž3-ãããžã§ã¯ãã®çµã¿ç«ãŠ
- ã¹ããŒãž4-ã³ãŒãã®å±é
- ãŸãšã
- Laravel PHPãã¬ãŒã ã¯ãŒã¯ã®äž»ãªæ©èœ
- 䟿å©ãªãªã³ã¯
Webéçºå ¥éïŒä»¥åã«äœãèµ·ãã£ãã®ã
ãã®èšäºã§ã¯ãLaravel PHPãã¬ãŒã ã¯ãŒã¯ãšã¯äœãããã®ãã¬ãŒã ã¯ãŒã¯ã®ãããã§ãåå¿è ã®Webéçºè ãã©ã®ããã«èŠéãåºããæåã®éçºã¬ãã«ãäžããããšãã§ãããã«ã€ããŠã話ããããšæããŸãã Webãããžã§ã¯ãã®äœæã®ãããã¯ãéããåå¿è ãæ¯æŽããŠã¿ãŸãããã
ãšã³ãžãã¢ãããã°ã©ããŒããŸãã¯Webéçºè ã§ããïŒ
30幎åã§ããã°ããšã³ãžãã¢ãšããã°ã©ããŒãåäžäººç©ã§ãããä»æ¥ã§ã¯ãæè¡ã®é²æ©ãšæè¡éçºã®ãããã§ãé»åæ©åšãä¿®çããããšããã§ãããšèšã£ãŠãå®å šã§ããããã®ããã®å€ãã®ããã°ã©ãã³ã°èšèªãå°éåãæ瀺ããããŸããäžäººã®äººã¯åã«ç©ççã«ååãªæéãæã£ãŠããŸããã ã»ãšãã©ã®å Žåãããã°ã©ããŒã®é£äººã¯ã¹ããŒããã©ã³ãä¿®æ£ã§ããŸãããããã®ã¹ããŒããã©ã³çšã®ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
ä»æ¥ãããŸããŸãªã¬ãã«ã®ç¥èãæã€å€ãã®éçºè ãããŸããå°ãªããšãããã€ãã®ããã°ã©ãã³ã°èšèªãšéçºæåã«é¢ããè±å¯ãªçµéšãšç¥èãæã€å°é家ãããŸãããŸãã倧ããªéæãšéçºæ欲ãæã€åå¿è ãããŸãã
PHPãéçºçšã®ããã°ã©ãã³ã°èšèªã§ãããšèããããŠããããšã¯ç§å¯ã§ã¯ãããŸãããããã«ã¯æäœéã®ç¥èãå¿ èŠã§ãã ããã¯ããšã³ããªã®ãããå€ãéåžžã«äœãããã°ã©ãã³ã°èšèªã§ãã
æåéãã ãã§ããããåããããã«ç»é¢ã«ç·ã衚瀺ã§ããŸãã ããããããã°ã©ãã³ã°èšèªã®çµéšè±å¯ãªéçºè ãPHPéçºè ããåœã®ãéçºè ãPHPããåœã®ãããã°ã©ãã³ã°èšèªãšèŠãªããŠããçç±ã§ãã
ããããPHPã§æ¬æ Œçãªè£œåãäœæããPHPãä¿¡é Œã§ããããšãä»ã®äººã«èšŒæããæ¹æ³ã¯ãããŸããïŒ PHPãã軜èãªãããã°ã©ãã³ã°èšèªãšèŠãªããŠãã人ã®1人ã§ããå Žåã¯ãæåŸãŸã§èªãããšããå§ãããŸãããããããèããå€ããã§ãããã
ãœãããŠã§ã¢è£œåã®éçºã«ã¯ãåžžã«éçºèšèªèªäœã®ç¥è以äžã®ãã®ãå¿ èŠã§ãã ãããäœæããŠãµããŒãããã«ã¯ãéçºè ã¯ä»ã®å€ãã®ç¥èãšã¹ãã«ãå¿ èŠãšããŸãã
Webãããžã§ã¯ãã®éçºãšãWebãããžã§ã¯ããæ£åžžã«éå§ããããã«Webéçºè ãä»æ¥ç¥ã£ãŠããã¹ãããšã«ã€ããŠã話ãããŸããæãéèŠãªããšã¯ã
Laravelã¯ãåžžã«Webéçºæè¡ã®ããŒã¯ã«ãšã©ãŸããªãããå®å šã§ä¿¡é Œã§ããWebãããžã§ã¯ããè¿ éãã€æèœã«äœæããã人ã«ãšã£ãŠçæ³çãªãœãªã¥ãŒã·ã§ã³ã§ãã
Webãããžã§ã¯ãã®äœæãéå§ããŸã
Webãããžã§ã¯ãã®äœæãéå§ããåã«ããããžã§ã¯ããšãã®ãããã®æ§é ã ãã§ãªããéçºããã»ã¹ããããŠæãéèŠãªäœæ¥ç°å¢ã«ã€ããŠãèæ ®ããå¿ èŠããããŸãã
Laravelèªäœã¯ãPHPãã¬ãŒã ã¯ãŒã¯ã§ãããWebéçºã®ãšã³ã·ã¹ãã å šäœã§ãããããéå°è©äŸ¡ããªãã§ãã ããã
Laravelãã¬ãŒã ã¯ãŒã¯ã.zipã¢ãŒã«ã€ãã§ããŠã³ããŒãããŠãã®æ©èœãè©äŸ¡ããå Žåãäœæ¥ç°å¢ãæ£ããæ§æãããŠããããç¥èã®ã®ã£ããããããŸãã ãã®èšäºãæåŸãŸã§æ³šææ·±ãèªãã§ãã ããã
ã¹ããŒãž1-ã³ãŒãäœæããã»ã¹
Windowsãå«ãä»»æã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§äœæ¥ã§ããŸãã åªããIDE ïŒçµ±åéçºç°å¢ïŒãå¿ èŠã§ã-PhpStormããå§ãããŸãã Atomããã¹ããšãã£ã¿ãŒãŸãã¯Sublime Textã䜿çšã§ããŸãã ãã¡ããã Notepad ++ãªã©ã®éåžžã®ããŒãããã¯ã§ã³ãŒããæžãããšãã§ããŸãããåªããIDEã¯ããããã®ãªããã®ã§ãã
ãŸããIDEãŸãã¯ããã¹ããšãã£ã¿ãã€ã³ã¹ããŒã«ããåŸãæéããããŠå¯èœãªéãå€ãã®æ©èœãæ€èšããããšããå§ãããŸãã ããã¯ãå°æ¥ã®å€ãã®æéãç¯çŽããå€ãã®æ¥åžžçãªã¿ã¹ã¯ãèªååããã®ã«åœ¹ç«ã¡ãŸãã
ãã¯ãŒã«ãªãéçºè ã¯ããŒãã«ã³ãŒããæžãã¹ãã ãšå€ãã®äººãä¿¡ããŠããŸãããã¡ã¢ãªããé¢æ°ã®ååãèŠããããšã¯äžã€ã®ããšã§ãããã³ãŒãã«ã¿ã€ããã¹ãããªãããšãéçºããã»ã¹ãç°¡çŽ åããã³ã¹ããŒãã¢ããããããšã¯å¥ã§ãã äž»ãªã¿ã¹ã¯ã¯ãIDEã®ãã¹ãŠã®æ©èœãç¿åŸããããšã§ãã
IDEã«å ããŠã Composerãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããããéããŠãLaravelãã€ã³ã¹ããŒã«ïŒæŽæ°ïŒããWebãããžã§ã¯ãã«è¿œå ããã±ãŒãžãè¿œå ïŒæŽæ°ïŒããŸãã
Composerã§ã®äœæ¥ãå¿ ãåŠç¿ããŠãã ãããããã¯éåžžã«éèŠã§äŸ¿å©ãªããŒã«ã§ãã
ãã®ãªã³ã¯ã§Laravelã®ã€ã³ã¹ããŒã«æé ã詳ããèªãã§ãã ãã ã
ããã«ãã³ãŒããèšè¿°ããããã»ã¹ã«ã€ããŠã¯èª¬æããŸããããIDEãšLaravelãæ¢ã«ã€ã³ã¹ããŒã«ãããŠãããšä»®å®ããŸãã
Laravelãã€ã³ã¹ããŒã«ãããšãã³ãŒãã¯ããã«ããŒã¹ããŒãžã®è¡šç€ºã衚瀺ããŸã-ããã¯èšäºã®æ¬¡ã®éšåã«è¡ãã®ã«ååã§ãã
ã¹ããŒãž2-ã³ãŒããã¹ã
Webãããžã§ã¯ãããã¹ãããããã«ããã¡ã€ã«ãFTP ãµãŒããŒã«ã¢ããããŒãããããŒã«ã«ã®Apache ïŒåãDenwerãŸãã¯XAMPP ïŒãã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸãã-ããã¯äœå¹Žãåã«è¡ããããã®ã§ãå€ãã®æ°åè ããããè¡ã£ãŠããŸãã ããã¯ééã£ãŠãããã³ãŒãã®ãšã©ãŒããããªããæãããšã¯ãããŸããã ãããŸã§ããããã®ã¿ã¹ã¯ã«é©ããããŒã«ããããå€ãã®æéãšç¥çµãç¯çŽã§ããŸãã
Laravelã¯Homesteadã®ã€ã³ã¹ããŒã«ãææ¡ããŸãã
ããŒã ã¹ãããã¯ãå¿ èŠãªãã®ããã¹ãŠã€ã³ã¹ããŒã«ãããŠããUbuntuãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã€ã¡ãŒãžã§ãã
ããããHomesteadã®ã€ã³ã¹ããŒã«ãšèšå®ã«æ £ããããšãã§ããŸã ã
ã€ã¡ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯ã VagrantãšVirtualBoxãå¿ èŠã§ãã ãã®ã€ã¡ãŒãžã®ãããã§ãã€ã³ã¹ããŒã«ããå¿ èŠãããã¢ãžã¥ãŒã«ãšãUbuntuã§ã®ã³ãŒãã®åäœãæ£ç¢ºã«ããããŸãã è¿œå ã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããããšãã§ããŸãã
èŠããã«ãã·ã¹ãã ã«ã¯ãUbuntuã€ã¡ãŒãžå ã§äœ¿çšå¯èœãªã³ãŒããå«ããããªãã¯ãã©ã«ããŒããããã³ãŒãã¯Ubuntuå ã§æ£ç¢ºã«å®è¡ãããŸãã
ãã©ãŠã¶ãŒã§site.appãšå ¥åãããšãUbuntuãããµã€ãã衚瀺ãããŸãã åæã«ãSSHãä»ããŠUbuntuã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã
åå¿è ã®å ŽåãHomesteadã®ã€ã³ã¹ããŒã«ãšèšå®ã«ã¯æéãããããŸãããéçºè ãšããŠã¯åã«å¿ èŠã§ãã
Homesteadã¯Linuxã ãã§ãªãWindowsã«ãã€ã³ã¹ããŒã«ã§ããããšã«æ³šæããŠãã ããã
次ã«ãHomesteadãã€ã³ã¹ããŒã«ãããLaravelã®ææ°ããŒãžã§ã³ã®ãµã€ãããã©ãŠã¶ã§éããšä»®å®ããŸãã
ã³ãŒãã¯ãã©ãŠã¶ã§å®è¡ãããŸãããå®éã«æ©èœããŸããïŒ
èªå°å¿ã®ããéçºè ã¯ããã¹ããªãã§ã³ãŒããèšè¿°ããªãã§ãã ããã ãã¹ãã«ããããã¹ãŠãæå³ãããšããã«æ©èœããããšã確èªã§ããŸãã æéããããŠãã¹ããäœæããŠãã ããã ãã¹ãŠã®ããã®éçºè ã¯ãèªåã®ã³ãŒãã®ãã¹ããäœæããå¿ èŠããããŸãã
Laravelã¯ãããããåŽé¢ããWebãããžã§ã¯ããå®å šã«ãã¹ãããããã®ããŒã«ãæäŸããŸãã ãã¹ãŠããã¹ãã§ããŸããäžæããŒã¿ããŒã¹ã®äœæãHTMLãã©ãŒã ã®å®äºã®ç¢ºèªããã¡ã€ã«ã®ã¢ããããŒãã®ç¢ºèªãPHPã»ãã·ã§ã³ã®å 容ãã¡ãŒã«ã®éä¿¡ãŸã§ç¢ºèªã§ããŸãã
Laravelã¯ããããžã§ã¯ãã®ãã¹ãŠã®æ©èœã®å質ãã¹ãã®ããã«äœæãããŸããã
ãã¹ãããã¥ã¡ã³ãã¯ãã¡ãã«ãããŸã ã
Laravelã§ã¯ããã¹ãã¯testsãã©ã«ããŒã«ãããã³ã³ãœãŒã«ã®phpunitã³ãã³ãã«ãã£ãŠå®è¡ãããããIDEããããã«å®è¡ãããŸãã
ãã¹ãã«ã¯ããã€ãã®ã¿ã€ãããããŸãã
- æ©èœ-æ©èœãã¹ã
- ã¢ãžã¥ã©ãŒ-åäœãã¹ã
æ©èœãã¹ã-æ©èœãã¹ãã
Webãããžã§ã¯ãã®æ©èœããã§ãã¯ãããã¹ããããšãã°ããŠãŒã¶ãŒç»é²ãéç¥ã®éä¿¡ãWebãã©ãŒã ãžã®å ¥åããã¡ã€ã«ã®ããŠã³ããŒãã ãã©ãŠã¶ã«è¡šç€ºãããŠããããŒã¿ãæ£ç¢ºã«ç¢ºèªã§ããŸãã Webãã©ãŒã ãæ©èœãããã©ããã確èªããããã«ãWebãã©ãŒã ã«æåã§å ¥åããå¿ èŠã¯ãããŸããã
HTTPèŠæ±ãéä¿¡ããã ãã§ãªããå®éã®Chromiumãã©ãŠã¶ãšã³ãžã³ã䜿çšããŠãLaravel Duskã䜿çšããŠãã¹ãããããšãã§ããŸãã
Laravel Duskã¯ããã«åœ¹ç«ã¡ãŸãã
åäœãã¹ãã¯åäœãã¹ãã§ãã
å¥ã®ã¿ã€ãã®ãã¹ãã¯ãåäœãã¹ããšåŒã°ããŸãã ãããã®ã¿ã€ãã®ãã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ãåé¢æ°ãã€ãã³ãã®ãã£ãããã¡ãã»ãŒãžã®éä¿¡ã®ç¢ºèªãã¡ãã»ãŒãžã®ããã¹ãã®ç¢ºèªãã¿ã¹ã¯ãã¡ãã»ãŒãžãã¥ãŒã«è¿œå ãããŠãããã©ãããããã³ã³ãŒãã®å€æŽã«å€±æããå Žåã«å£ããå¯èœæ§ã®ãããã®ã確èªããŸãã
ãããžã§ã¯ãã®åæ©èœã«ã¯ç¬èªã®ãã¹ããå¿ èŠã§ãããããžã§ã¯ããå®äºãããšããã¹ãŠã®ãã¹ããæ£åžžã«å®è¡ãããå¿ èŠããããŸãã
æ©èœãå€æŽãããšãã«ããã¹ããè¿œå ã§ããŸãã ããã¯ããªããšããªãã®ååãééãããæããåé¡ãããç°¡åã«èšºæããã®ã«åœ¹ç«ã¡ãŸãã
ãŠããããã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®ãšã©ãŒãåé¿ããŸãã
TDD ïŒãã¹ãé§åéçºïŒã«ã¯éçºææ³ïŒãã¹ãã«ããéçºïŒãããããšã«æ³šæããŠãã ããã æåã«ãã¹ããäœæãã次ã«ã³ãŒããåŸã ã«å®è£ ããŸãã ãã¹ãŠã®ãã¹ããå®äºãããšãã³ãŒãã®èšè¿°ãå®äºãããšèšããŸãã
ãããžã§ã¯ãã®ãã¹ããäœæããŠããªãå Žåã¯ãæ°ããã¬ãã«ã«ç§»è¡ããŸãã ãã¹ãã«å ããŠãWebã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåæããããã®ä»ã®ãã«ããŒããããŸãã
Laravelã¯ã Laravel Debugbarã®ã€ã³ã¹ããŒã«ãæäŸããŸãã
ããã¯ããããã°ã¢ãŒãã§ãµã€ãã«è¡šç€ºãããç¹å¥ãªããã±ãŒãžã§ãã ããã䜿çšãããšãããã«æé©åããç®çã§ãããŒã¿ããŒã¹ã«å¯Ÿãããã¹ãŠã®SQLã¯ãšãªã远跡ã§ããŸãã
ã¹ããŒãž3-ãããžã§ã¯ãã®çµã¿ç«ãŠ
Webãããžã§ã¯ããäœæãããã¹ãã«åæ ŒããåŸããµãŒããŒã«é 眮ããããã®ãããžã§ã¯ããæºåããå¿ èŠããããŸãã
Laravelã¯Laravel MixãæäŸããŠãããŸãã
Laravel Mixã¯Webpackã䜿çšãã CSSãJSãLessãSaasãStylusãPostCSSã§åäœããŸãã
ããã¯ãWebpackã¢ãžã¥ãŒã«ã®ç¹å¥ãªã³ã¬ã¯ã¿ãŒã䜿çšããŠããã¹ãŠã®JSãã¡ã€ã«ãšCSSãã¡ã€ã«ãäžç·ã«åéããæãéèŠãªããšã«ã¯ããããã®ãã¡ã€ã«ã®ããŒãžã§ã³ãäœæã§ããçŽ æŽãããããŒã«ã§ãã
ãããã£ãŠããããžã§ã¯ãã®åã¢ã»ã³ããªã§ã¯ãHTMLã³ãŒãã§JSãã¡ã€ã«ãšCSSãã¡ã€ã«ã«ç°ãªãååãä»ããããšãã§ããŸããããã«ããããã¡ã€ã«ã®ã³ã³ãã³ããå€æŽããéã®ãã£ãã·ã¥ã®åé¡ã解決ãããŸãã
ãããžã§ã¯ãã®ãã³ãã¬ãŒãã«æ¬¡ã®ããã«èšè¿°ããŸãã
<link rel="stylesheet" href="{{ mix('/css/app.css') }}">
çµã¿ç«ãŠåŸã次ã®ããã«ãªããŸãã
<link href="/css/app.289df32d2d2c47df3b16.css" rel="stylesheet">
ãã®å Žåã蚪åè ã®ãã©ãŠã¶ã¯ããã«ãµã€ãããæ°ãããã¡ã€ã«ãããŠã³ããŒãããŸãã
䟿å©ãããªãã§ããïŒ JSãã¡ã€ã«ã§ãåæ§ã§ãã
Laravelãããã°ã¬ãã·ãVue Javascriptãã¬ãŒã ã¯ãŒã¯ã§ããŸãæ©èœãããã®JSãã¬ãŒã ã¯ãŒã¯ã«åºã¥ããŠWebã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã«éåžžã«äŸ¿å©ã§ããããšã¯æ³šç®ã«å€ããŸãã ããã«ãåã³ã³ããŒãã³ããåå¥ã®ãã¡ã€ã«ã«ç°¡åã«é 眮ã§ããŸãã
ãã®ãªã³ã¯ã§ã¯ã Laravelã䜿çšããŠVueã®ã³ã³ããŒãã³ããèšè¿°ããæ¹æ³ã«ã€ããŠèªãããšãã§ããŸãã
ã¹ããŒãž4-ã³ãŒãã®å±é
éåžžããããžã§ã¯ãããã«ãããåŸããã®ãã¡ã€ã«ããµãŒããŒã«ã¢ããããŒãããããŒã¿ããŒã¹å ã®ããŒãã«æ§é ãæŽæ°ããå¿ èŠããããŸãã
FTPããã³phpMyAdminã¯äœ¿çšããŸãããå€æŽããªããšãWebãããžã§ã¯ãã®Webãµã€ãã«ã¢ã¯ã»ã¹ãããã¹ãŠã®ãŠãŒã¶ãŒã«ãããŒã¿ããŒã¹ã«ãã¡ã€ã«ãŸãã¯ãã£ãŒã«ããååšããªãããšã«é¢ããå€ãã®ãšã©ãŒã衚瀺ãããŸãã
ãã¡ãããæè¡çãªäœæ¥ã®å®äºãçºè¡šããããšãã§ããŸãããããžã§ã¯ãã®æè¡çãªè€éãããŠãŒã¶ãŒã«ç€ºããããå®å šã«ã·ã£ããããŠã³ããå¿ èŠããããŸããã誰ã«ãåã°ããŸããã
Webãããžã§ã¯ããç¡å¹ã«ããããšãªãã³ãŒããæŽæ°ã§ããéåžžã«ã·ã³ãã«ã§æèœãªãœãªã¥ãŒã·ã§ã³ãããããŠãŒã¶ãŒã¯ãšã©ãŒã¡ãã»ãŒãžãåãåããŸããã
æåã«åŠã¶å¿ èŠãããã®ã¯Gitã§ãã
Gitã¯ãåæ£ãã¡ã€ã«ããŒãžã§ã³ç®¡çã·ã¹ãã ã§ãã
Gitã䜿çšãããšãæ··ä¹±ãæãããšãªãããã¡ã€ã«ã®å€æŽã远跡ããå€ãããŒãžã§ã³ã®ãã¡ã€ã«ãè¿ããåãã³ãŒãã§ããŒã ã§äœæ¥ã§ããŸãã
ãµãŒãã¹ãéããŠGitã䜿çšã§ããŸãã
ãããªãã¯ã³ãŒããŸãã¯ãã©ã€ããŒãã³ãŒãïŒãã©ã€ããŒããªããžããªã®å Žå-ææïŒãäœæã§ããŸãã
å¥ã®ç¡æã®BitBucketãµãŒãã¹ã䜿çšããããšãã§ããŸããããã«ãããç¡æã®ã³ãŒãã§ãã©ã€ããŒããªããžããªãäœæã§ããŸãã
ããã«ãGitèªäœãæ§æããŠãå€æŽæã«ç¹å®ã®ã¢ã¯ã·ã§ã³ãçºçããããã«ããããšãã§ããŸãã
- Travis CIãä»ããŠãããžã§ã¯ããã¹ããå®è¡ããŸãã
- æšæºã«åŸã£ãŠã³ãŒãããã©ãŒãããããŸãã
- ããŒã«ã«ããã³ãŒãå質åæã
ãããã£ãŠãWebãããžã§ã¯ãã®ãã¹ãŠã®ã³ãŒãã¯Gitã«ä¿åãããåžžã«é«å質ã§å®çžŸã®ãã ãã®ã«ãªããŸã ã
ããšãã°ãLaravel PHPãã¬ãŒã ã¯ãŒã¯ã®å ¬åŒã³ãŒãã«å€æŽãå ããããšãç³ãåºãå Žåãå€æŽãå ãããšããã¬ãŒã ã¯ãŒã¯ã®åäœã確èªãããã¹ãã§æ°ããã³ãŒããèªåçã«èæ ®ãããŸãã
åã«ãWebã¢ããªã±ãŒã·ã§ã³ãå±éããããã»ã¹ã«ã€ããŠèª¬æããŸããã ãããGitãå¿ èŠãªçç±ã§ãã ããŒã«ã«ãã·ã³ããWebã¢ããªã±ãŒã·ã§ã³ã³ãŒããGitã«ã¢ããããŒããããšããµãŒããŒãžã®ã¢ããªã±ãŒã·ã§ã³ã®å±éãèªåçã«éå§ãããŸãã
Laravel Forge-æéã®ããããªããµãŒããŒã Gitããã®èªåå±éã«ã¯ã Laravel ForgeãµãŒãã¹ã圹ç«ã¡ãŸãã
Laravel Forgeã䜿çšããŠã DigitalOcean ã Linodeã§ä»®æ³ãµãŒããŒãäœæããããç¬èªã®ãµãŒããŒãžã®ã¢ã¯ã»ã¹ãæå®ãããã§ããŸãã ãã®å ŽåãLaravel PHPãã¬ãŒã ã¯ãŒã¯ãæ©èœããããã«å¿ èŠãªãã¹ãŠã®ãœãããŠã§ã¢ã絶察ã«æ§æãããŸãã
Laravel Forgeã¯ã»ãã¥ãªãã£æŽæ°ããã°ã©ã ãèªåçã«ã€ã³ã¹ããŒã«ããŸãã ãŸããForgeã¯Let's Encryptããç¡æã®SSL蚌ææžãç°¡åã«ã€ã³ã¹ããŒã«ããŸãã
Laravel ForgeãµãŒãã¹ã«Gitãªããžããªãžã®ã¢ã¯ã»ã¹æš©ãä»äžã§ããŸãããµãŒããŒäžã®ã³ãŒããå€æŽããããã³ã«ããã®ææ°ããŒãžã§ã³ãèªåçã«ãããã€ãããŸãã
10å°ã®ãµãŒããŒãå¿ èŠã§ããïŒ -åé¡ãããŸãããLaravelForgeã¯ããŒããã©ã³ãµãŒãã€ã³ã¹ããŒã«ãã10åã®ä»®æ³ãµãŒããŒãäœæããGitããåãµãŒããŒã«ã³ãŒããã³ããŒããŠãããžã§ã¯ããå®è¡ã§ããŸãã
ãã¹ãŠãèããŸããïŒ
ãããã Envoyerã䜿çšãããšããµãŒãã¹ããŸã£ããåæ¢ããã«æ°ããã³ãŒããèµ·åã§ããŸãã
ç§ã¯å人çã«Envoyerã䜿çšããŠããŸããããLaravel Forgeããã«ã§å°ããªã¹ã¯ãªãããäœæããŸããããã®ã¹ã¯ãªããã¯ãã³ãŒãããããã€ããããã³ã«å®è¡ããããªã³ã¶ãã©ã€çœ®æãæäŸããŸããããµãŒããŒèªäœã«å€ãã³ãŒãã®ã³ããŒãããã«ããã€ãä¿æããŸãã
â ã¹ã¯ãªãããªã³ã¯
ãŸãšã
å¿«é©ãªäœæ¥ç°å¢ãäœæããIDEãComposerãLaravel PHPãã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ãããããžã§ã¯ãã³ãŒããäœæãããã¹ããå®è¡ããGitããŒãžã§ã³ç®¡çã·ã¹ãã ã調æ»ããããã«ã³ãŒããéä¿¡ããå¿ èŠã«å¿ããŠLaravel ForgeãµãŒãã¹ãæ¥ç¶ããå¿ èŠã«å¿ããŠLaravel Envoyerãæ¥ç¶ãããããžã§ã¯ãã®å±éãæ©èœãããŸããgitãªããžããªã®ãµãŒããŒã
LaravelãWebéçºã®æèœãªéçã«ç§ãã¡ãå°ãããšèšããŸãã åŠã¶ã¹ãããšã¯ãŸã ãããããããŸããããã§ã«çŽ æŽãããä»äºãããŠãããä»ã®éçºè ãšããŒã ã§ä»äºãå§ããããšãã§ããŸãã
Laravel PHPãã¬ãŒã ã¯ãŒã¯ã®äž»ãªæ©èœ
次ã«ãLaravel PHPãã¬ãŒã ã¯ãŒã¯èªäœã®æ©èœãèŠãŠã¿ãŸããããã©ã®Webã¢ããªã±ãŒã·ã§ã³ã§ãã®PHPãã¬ãŒã ã¯ãŒã¯ãäœæã§ããããæè¡çã«ã©ã®çšåºŠé²æ©ããŠããããäžçäžã§äººæ°ãããçç±ãèŠãŠã¿ãŸãããã
PHP5ãšæ¯èŒããŠPHP7ããªãªãŒã¹ãããåŸãã¹ã¯ãªããã¯ããé«éã«ãªããRAMã®äœ¿çšéãã¯ããã«å°ãªããªãã Zend OPCacheãšçµã¿åãããŠé©ãã¹ãçµæã瀺ããŸããã ç¹ã«ãLaravel ForgeãµãŒãã¹ã¯Zend OPCacheã調æŽããŠããã©ãŒãã³ã¹ãæ倧åããŸãã
ç¹å®ã®PHPãã¬ãŒã ã¯ãŒã¯ã®ããã©ãŒãã³ã¹ã«é¢ããŠèšãã°ã圌ãã¯åžžã«ãã£ãã·ã¥ãªãã§ãã¹ãããããŒã¿ããŒã¹ãŸãã¯ãã¡ã€ã«ãæäœããäž»ã«éåžžã®PHPããŒãžãå€ãåŒã³åºããŸãã ãã®ç¹ã§ããã®PHPãã¬ãŒã ã¯ãŒã¯ã¯æ¬è³ªçã«ä»ã®äººãšéãã¯ãããŸããããã¹ã±ãŒã©ããªãã£ãæè»æ§ãçµã¿èŸŒã¿ãã£ãã·ã¥ã¡ã«ããºã ã®æ±çšæ§ãéçºé床ã«é¢ããŠã¯ãLaravelããã¹ãŠã®æè»æ§ãšãã¯ãŒãçºæ®ããããšã«ãªããŸãã
Laravelèªäœã¯çµ¶ããæ¹åãããŠãããçŸä»£ã®ãã¬ã³ãã«åŸã£ãŠããŸãã ãããç 究ããããšã«ãã£ãŠãããªãã¯ãŠã§ãéçºã®äžçã«é ããããšã¯ãããŸãããäž»ãªããšã¯ãã¬ãŒã ã¯ãŒã¯ã®ç¹å®ã®ããŒãžã§ã³ã«çŠç¹ãåãããã®ã§ã¯ãªããããã«æ²¿ã£ãŠéçºããããšã§ãã ãããè¡ãã«ã¯ãLaravelã®é©æ°ãç 究ããå¿ èŠããããŸãã
æ¯å¹ŽããŸããŸãªäŒè°ãéå¬ãããŠããããªã³ã©ã€ã³ã§ãé²èŠ§ã§ããŸãã
Laravelã®äž»ãªæ©èœã説æããŠãã¹ã±ãŒã«ãè©äŸ¡ã§ããããã«ããŸãã
- MVC ïŒEnglish Model View ControllerïŒPHPãã¬ãŒã ã¯ãŒã¯ã¯ãæåã§ä¿¡é Œæ§ã®é«ãSymfonyã³ã³ããŒãã³ãã«åºã¥ããŠããŸãã
- ãã¬ãŒã ã¯ãŒã¯ã«å¿
èŠãªã¢ãžã¥ãŒã«ã¯ããµãŒãã¹ãããã€ããŒã®åœ¢ã§æ¥ç¶ãããŠããŸãã Laravel 5.5ã§ã¯ãomposerãä»ããŠããã±ãŒãžãã€ã³ã¹ããŒã«ããã®ã¯ç°¡åã§ãã³ãŒãã«äœãæžãããšãªãããã«å©çšã§ããŸãã
- ãã¬ãŒã ã¯ãŒã¯ã³ãŒãã¯éçºè
ã³ãŒãããåé¢ãããŠãããåã³ã³ããŒãã³ãã¯ç°¡åã«æ¡åŒµå¯èœã§ãã
- Webãããžã§ã¯ãã³ãŒããCSSãJSãããŒãžã®HTMLã³ãŒãã¯ãåå¥ã®ãã£ã¬ã¯ããªã«åå²ãããŸãã ãã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãBladeãã³ãã¬ãŒããšã³ãžã³ã䜿çšããŠãPHPã³ãŒãããã¬ã€ã¢ãŠããåé¢ã§ããŸãã ãã³ãã¬ãŒããšã³ãžã³èªäœã¯éåžžã«åçŽãªã®ã§ãåå¿è
ã®HTMLã¬ã€ã¢ãŠãèšèšè
ã§ãç°¡åã«ãããæã¡è² ããããšãã§ããŸãã
- 䟿å©ãªã«ãŒãã£ã³ã°ãçä¿¡ãã©ã¡ãŒã¿ãŒã®æ€èšŒã
- ãã£ãã·ã¥ããã¡ã€ã«ã¹ãã¬ãŒãžã®æäœãããŸããŸãªããŒã¿ããŒã¹ã®æäœã
- ããŒã¿ããŒã¹ã®ç§»è¡ã§ã¯ãããŒã¿ããŒã¹ã®æ§é ãå€æŽããå€æŽãããŒã«ããã¯ã§ããŸãã
- ã¿ã¹ã¯ã®ãã¥ãŒãã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ãã³ã³ãœãŒã«ã¯SSHã§åäœããŸãã
- Eloquent ORMã®å·šå€§ãªæ©èœã«ããã SQLã€ã³ãžã§ã¯ã·ã§ã³ãªã©ã®æ»æããå®å
šã«ä¿è·ãããè€æ°ã®ããŒãã«ããããŒã¿ãããŒãïŒ N + 1ã®åé¡ã解決ïŒããããããŒã¿ããŒã¹ã®ããŒã¿ãéšåçã«åŠçãããã§ããŸãã
- Laravelã³ã¬ã¯ã·ã§ã³ -ãããã¯PHPé åã§ãããšèšããŸãããå€ãã®æéãç¯çŽããéåžžã«é«åºŠãªæ©èœãåããŠããŸãã
- ã«ãŒãã£ã³ã°ãã¡ã€ã«ãæ§æãã¡ã€ã«ããã³ãã¬ãŒãã®ãã£ãã·ã¥ã ããã«ããããã¬ãŒã ã¯ãŒã¯ã®äœæ¥ãé«éåãããŸãã
- ããŸããŸãªæ¹æ³ã§éç¥ãéä¿¡ããŸãïŒã¡ãŒã«ã Slackãªã©ãèªåã§è¿œå ã§ããŸãã
- WebSocketã¯ãçã®ã€ã³ã¿ã©ã¯ãã£ãã¢ããªã±ãŒã·ã§ã³ã®äœæããµããŒãããŸãã
- å€èšèªãµããŒãïŒä»»æã®èšèªãç°¡åã«è¿œå ã§ãã Laravel-langããã±ãŒãžã«ã¯ãã§ã«å€ãã®ç¿»èš³ãå«ãŸããŠããŸãã
- ã¢ãã«ãã³ã³ãããŒã©ãŒãéç¥ã®çæããžã§ããã¥ãŒããã®ã¿ã¹ã¯ã®å®è¡ãªã©ãå¯èœã«ããè·äººã®ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã
- Laravel Tinkerã¯ãã³ãã³ãã©ã€ã³ãããããžã§ã¯ãã³ãŒããæäœã§ããè¿œå ããã±ãŒãžã§ãã
- ããŒã¿ããŒã¹ã«ãã¹ãããŒã¿ãå
¥åãããªã©ãWebãããžã§ã¯ãããã¹ããã倧ããªæ©äŒã
- ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãããã±ãŒãžã©ã€ãã©ãªãåããç¬èªã®ãµã€ããããããŸã ã
- å šææ€çŽ¢ãå¿ èŠã§ããïŒ ãé¡ã-Laravel Scout ã Algolia ã Sphinx ããã®ä»ã®ãã©ã€ããŒã䜿çšã§ããŸãã
å°è±¡çã§ããã ãããŠãå¯èœæ§ã®ååã説æããŸããã§ããã
Laravelã䜿çšãããšã1ã€ã®ã³ãã³ãã§ç»é²ããã³ãµã€ããžã®ãã°ã€ã³ã®ã·ã¹ãã ãçæãã Laravel Socialiteã®ãããã§OAuthèªèšŒãµãŒãã¹ã«ç°¡åã«æ¥ç¶ãããã Laravel Passportã䜿çšããŠç¬èªã«äœæãããã§ããŸãã
OAuthãç¥ããªã人ã«ãšã£ãŠã¯ããœãŒã·ã£ã«ãããã¯ãŒã¯ãä»ããŠãµã€ãã«ã¢ã¯ã»ã¹ããæ©äŒã§ãã
ããã¯Laravelã§ã§ããããšã®ã»ãã®äžéšã§ãããåå¿è ã®PHPéçºè ãPHPãã¬ãŒã ã¯ãŒã¯èªäœã®ã³ã¢ãæãäžããã«ãã®æ©èœãæ¢æ±ããã°ãLaraveléçºã ãã§ãªããç¹ã«ãããŒã ã¯ãŒã¯ã®ã¹ãã«ãšãè² è·ã®é«ããããžã§ã¯ãã®éçºã®ååã®ç解ãå«ãŸããŸãã
Laravel PHPãã¬ãŒã ã¯ãŒã¯ã®ã¡ã€ã³ãµã€ãã«ã¢ãããŒãããã®ã¯çç±ããªãããã§ã¯ãããŸããã
ãçŸããã³ãŒãã奜ãã§ããïŒã ç§ãã¡ãããã§ãã PHPãŠã§ããã¹ã¿ãŒãã¬ãŒã ã¯ãŒã¯ãã
çµå±ã®ãšãããLaravel PHPãã¬ãŒã ã¯ãŒã¯ã®ã³ãŒãã¯çŸãããèªã¿ãããã ãã§ãªããéåžžã«ããèããããŠãããå€ãã®äººãå€æŽã«ã€ããŠèããŸããããã«ããããã¹ã¿ãŒã¬ãã«ã§ãããã§ãã·ã§ãã«ãªWebã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
䟿å©ãªãªã³ã¯ïŒ
Laravel PHPãã¬ãŒã ã¯ãŒã¯ã®ãµã€ãã
ã¡ã€ã³ã®PHPãã¬ãŒã ã¯ãŒã¯ãã¥ãŒã¹ãšããŸããŸãªããã±ãŒãžã«é¢ãããã¥ãŒã¹ã
ãã·ã¢èªã®Laravelãšãã·ã¢ èªã話ãVKã®Laravelã®ã³ãã¥ããã£ã
https://laracasts.comãšãããµã€ãã匷ããå§ãããŸã ãJeffreyWayã®ãããªãã¥ãŒããªã¢ã«ã§ã¯ãLaravelã®æ©èœãäžå¿ èŠãªèšèãªãã§æ確ã«ç€ºããŠãããå€ãã®æçšãªããšã説æããŠããŸãã 2åã§ã人ã¯1æéã§å€ãã®äººãããã¢ã¯ã»ã¹ãããããªããŸãã
ãŸãã Adam WathanãLaravelã³ã¬ã¯ã·ã§ã³ã®å¯èœæ§ã«ã€ããŠè©³ããèªã£ãŠããã ã³ã¬ã¯ã·ã§ã³ãžã®ãªãã¡ã¯ã¿ãªã³ã° ããšããæ¬ããå§ãããŸãã ããªãã®ã³ãŒããããè¯ãå€ããããšãä¿èšŒããŸãã
ãã¹ãŠã®Laravel Webãããžã§ã¯ãã«ã€ã³ã¹ããŒã«ããããšããå§ãããŸãã
- Laravelãããã°ããŒ
- Laravel IDEãã«ããŒãžã§ãã¬ãŒã¿ãŒ
- 䟿å©ãªã¹ããã£ãŒããã±ãŒãž
PSïŒãã®èšäºã¯éåžžã«èšå€§ã§æè¡çãªè©³çŽ°ã¯ãããŸããã§ããããäž»ãªã¿ã¹ã¯ã¯åå¿è ããããããŒã«å ¥éçãªç¥èãäžããLaravelãšã¯äœããã©ããªæ©äŒãæäŸãããã説æããLaravelãåãªãPHPãã¬ãŒã ã¯ãŒã¯ã§ã¯ãªããå šäœã§ããããšã瀺ãããšã§ã絶ããé²åããŠãããšã³ã·ã¹ãã ã ããã¯ãŸãã«ãPHPéçºè ã泚æãã¹ãåŸåã§ãã
å€ãã®ããšã¯åå¿è ã«ã¯ãããã«ãããããããŸãããã絶æããªãã§ãã ããã ã©ã®çšèªããããäžã§éåžžã«è¿ éã«èŠã€ããããšãã§ããŸãã ç§ã¯ãåå¿è ã®éçºè ãèªèãã¹ãæ£ç¢ºãªé åºã§æ å ±ãèŠçŽããããšããŸããã
ãã®èšäºãæ°ã«å ¥ã£ããããã®èšäºã®å段éã«ã€ããŠãæè¡çãªè©³çŽ°ãšã³ãŒããä»ããŠè©³çŽ°ã«èª¬æããŸãã