๐Ÿš€ Laravel์šฉ ์ด๋‹ˆ์…œ๋ผ์ด์ € โ€“ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”

1731 ๋‹จ์–ด phpwebdevlaraveldocker
์ƒˆ๋กœ์šด Laravel ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋งŒํผ ์‰ฝ์Šต๋‹ˆ๋‹ค:

curl -s https://laravel.build/my-new-laravel-application | bash


์ด๊ฒƒ์€ ๋‹น์‹ ์—๊ฒŒ ๋งŽ์€ ๋ถ€๋‹ด์„ ์ฃผ์ง€๋งŒ, ๋‹น์‹ ๋งŒ์˜ ์„ ํ˜ธ๋„์™€ ๊ธฐ์ค€์ด ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ MySQL ๋Œ€์‹  ํ•ญ์ƒ PostgreSQL์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ž์ฒด ์ธ์ฆ ๊ตฌํ˜„์„ ๋กค๋งํ•˜๋Š” ๋Œ€์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํƒ€ํ„ฐ ํ‚คํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค ์ด ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘๊ณก๊ฐ€ ํŒจํ‚ค์ง€ ์„ค์น˜, ํŒŒ์ผ ์กฐ์ •.env, ์—ฌ๋Ÿฌ ๋ช…๋ น ์‹คํ–‰php artisan my-package:install์ž…๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ์„ค์ •์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด laravel.initializer.dev ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ž์‚ฌ ๋ฐ ๊ด€๋ จ ํŒจํ‚ค์ง€์™€ ํ•ด๋‹น ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ข‹์•„ํ•˜๋Š” Laravel ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ณ  ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด ๋นจ๊ฐ„์ƒ‰ ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ํฌํ•จ๋œ ZIP ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์„ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜์ค‘์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด "๊ณต์œ "๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.

์ด์ œ ๋‚จ์€ ๊ฒƒ์€ ์•„์นด์ด๋ธŒ์˜ ์••์ถ•์„ ํ’€๊ณ cd ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

./initialize


๋‹น์‹ ์˜ ํ„ฐ๋ฏธ๋„์—์„œ. ์‹ ์„ ํ•œ ์ปคํ”ผ/์ฐจ๋ฅผ ๋งˆ์‹œ๋ฉฐ initialize ํ”„๋กœ์ ํŠธ๋ฅผ ์Šค์บํด๋”ฉํ•˜๊ณ , ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ํ”„๋ก ํŠธ์—”๋“œ ๋ฒˆ๋“ค์„ ๊ตฌ์ถ•ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ Postgres๋ฅผ ์„ ํƒํ•˜์…จ์Šต๋‹ˆ๊นŒ? config/database.php , .env.template ๋ฐ .env ํŒŒ์ผ์ด ๊ทธ์— ๋”ฐ๋ผ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

Redis ๋Œ€๊ธฐ์—ด์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด Horizon์„ ์„ ํƒํ•˜๊ณ  ๋กœ์ปฌ์—์„œ ์ด๋ฉ”์ผ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด Mailhog๋ฅผ ์„ ํƒํ•˜์…จ์Šต๋‹ˆ๊นŒ? ์ƒ์„ฑ๋œ readme.md ๋‚ด๋ถ€์— ์ด๋ฏธ ์œ ์šฉํ•œ ํ…Œ์ด๋ธ”์ด ์žˆ์œผ๋ฉฐ ์„ค์ •์„ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋กœ์ปฌ ๊ฐœ๋ฐœ ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด Pest๋ฅผ ํฌํ•จํ•˜๊ณ  ์Šคํƒ€ํ„ฐ ํ‚คํŠธ๋กœ Breeze ๋˜๋Š” Jetstream์„ ํฌํ•จํ–ˆ์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ก  ํ•„์š”ํ•œ ๋ชจ๋“  ์˜ต์…˜์€ ์„ค์น˜ ์ค‘์— ํ†ต๊ณผ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋Š” ์ด๋ฏธ Pest๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋’ค์—์„œ ์‚ดํŽด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” freely available on GitHub ์ž…๋‹ˆ๋‹ค. ๊ฐœ์„  ์‚ฌํ•ญ์ด ์ƒ๊ฐ๋‚˜๋ฉด ์ž์œ ๋กญ๊ฒŒ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ์„ธ์š”! (๋‹จ, ํ”„๋กœ์ ํŠธ์˜ ๋ฒ”์œ„๋Š” ์ž์‚ฌ Laravel ํŒจํ‚ค์ง€ atm์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  Spatie ํŒจํ‚ค์ง€๊ฐ€ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค)

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ