216.73.216.34 TODAY : 139

PHP ์˜จ๋ผ์ธ ๊ฐ•์˜

 > 

PHP - ๊ณ ๊ธ‰

๐Ÿ“š PHP ์ค‘๊ธ‰ - 1์ฃผ์ฐจ: PHP ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋ฌธ - 02 ์„ ํƒํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์„ค์น˜ ๋ฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ดํ•ด

๐Ÿ“š PHP ์ค‘๊ธ‰ - 1์ฃผ์ฐจ: PHP ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋ฌธ - 02 ์„ ํƒํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์„ค์น˜ ๋ฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ดํ•ด
ํ‰์  10.0 ๋ผ์ด์„ผ์Šค free
์‚ฌ์šฉ์žํ‰์  10.0 ์šด์˜์ฒด์ œ
๋‹ค์šด๋กœ๋“œ 1 ํŒŒ์ผํฌ๊ธฐ 0
์ œ์ž‘์‚ฌ LUZENSOFT ๋“ฑ๋ก์ผ 2025-08-25 12:25:43
์กฐํšŒ์ˆ˜ 14
- ์„ค๋ช…

uploadImage

ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?


#PHP #ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด, ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ๊ฐœ๋ฐœํ•˜์—ฌ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์ธ #๋ผ๋ผ๋ฒจ(#Laravel)์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.




1. ๋ผ๋ผ๋ฒจ ์„ค์น˜ ์ค€๋น„


๋ผ๋ผ๋ฒจ์„ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € #Composer๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Composer๋Š” PHP์˜ ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ๋กœ, ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ Composer๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.




2. ๋ผ๋ผ๋ฒจ ์„ค์น˜ํ•˜๊ธฐ


ํ„ฐ๋ฏธ๋„(๋˜๋Š” ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ)์„ ์—ด๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ผ๋ผ๋ฒจ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 'my-app'์€ ์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“ค๊ณ  ์‹ถ์€ ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Bash

composer create-project laravel/laravel my-app

์ด ๋ช…๋ น์–ด๋Š” ๋ผ๋ผ๋ฒจ์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , ํ•„์š”ํ•œ ๋ชจ๋“  ์˜์กด์„ฑ ํŒจํ‚ค์ง€๋ฅผ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด, cd my-app ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜์„ธ์š”.




3. ๋ผ๋ผ๋ฒจ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ดํ•ด

uploadImage


์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ์—ด์–ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ #๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • app/: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ #ํ•ต์‹ฌ ๋กœ์ง์ด ์œ„์น˜ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. #์ปจํŠธ๋กค๋Ÿฌ(#Controller), #๋ชจ๋ธ(#Model), #์„œ๋น„์Šค ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๊ฐ€ ์ด ์•ˆ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

  • config/: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ์ •๋ณด, ์บ์‹œ ์„ค์ • ๋“ฑ #์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ๋“  ํ™˜๊ฒฝ ์„ค์ •์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • database/: #๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(#Migration), #์‹œ๋”(#Seeder) ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ํŒŒ์ผ๋“ค์ด ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.

  • public/: ์‚ฌ์šฉ์ž๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœ #๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค. #CSS, #JavaScript, #์ด๋ฏธ์ง€ ํŒŒ์ผ ๋“ฑ์ด ์—ฌ๊ธฐ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

  • routes/: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ #๋ผ์šฐํŒ…(#Routing) ๋กœ์ง์„ ์ •์˜ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ URL์„ ์–ด๋–ค ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ฒ˜๋ฆฌํ• ์ง€ ์—ฐ๊ฒฐํ•ด์ค๋‹ˆ๋‹ค.

  • resources/: #๋ทฐ(#View) ํŒŒ์ผ, #์–ธ์–ด ํŒŒ์ผ ๋“ฑ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ๋“ค์ด ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.

  • vendor/: Composer๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋ชจ๋“  #์˜์กด์„ฑ ํŒจํ‚ค์ง€๋“ค์ด ์ €์žฅ๋˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์ง์ ‘ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.




4. ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰

uploadImage

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ๋ผ๋ผ๋ฒจ์ด ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ #๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Bash

php artisan serve

๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ ํ›„, ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ http://127.0.0.1:8000์— ์ ‘์†ํ•˜๋ฉด #๋ผ๋ผ๋ฒจ ๊ธฐ๋ณธ ํ™˜์˜ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๋งบ์Œ๋ง

uploadImage


์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ผ๋ผ๋ฒจ์„ ์„ค์น˜ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฃผ์ฐจ์—๋Š” ์ด ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ผ์šฐํŒ…, ์ปจํŠธ๋กค๋Ÿฌ, ๋ทฐ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.




๊ฒŒ์ž„, ๋งˆ์ผ€ํŒ…, ์„œ๋ฒ„์šฉ ๊ณ ์ •IP, ๋ฐฉํ™”๋ฒฝ์šฐํšŒ, ๊นจ๋—ํ•˜๊ณ  ์ค‘๋ณต์—†๋Š” IP ์ œ๊ณต.

https://xn--299ao67b9qbmsf04c.net/