architecture
๋ผ๋ผ๋ฒจ ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
.env : ๊ธ๋ก๋ฒ ์ค์ ์ค ๋ฏผ๊ฐํ ๊ฐ
app
Console : ์ฌ์ฉ์๊ฐ ๋ง๋ ์ฝ์ ๋ช ๋ น๋ค
Kernel.php : ์ฝ์ ๋ช ๋ น, ํฌ๋ก ์ก๋ฑ ๋ฑ๋ก
Exceptions
Handler.php : ์ ์ญ ์์ธ์ฒ๋ฆฌ ์ ์
Http
Controllers : http ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ปจํธ๋กค๋ฌ
Auth : ๋ผ๋ผ๋ฒจ์ ๊ธฐ๋ณธ ๋ด์ฅ๋ ์ฌ์ฉ์ ์ธ์ฆ ์ปจํธ๋กค๋ฌ
Middleware : Authenticate, Encrypt,csrfToken๋ฑ๊ณผ ๊ฐ์ด ๋ฏธ๋ค์จ์ด๋ค ์ ์
Kernel.php : http ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์ํด ๊ธฐ๋ณธ์ด ๋๋ ์ปค๋
Providers
AppServiceProvider.php : ์๋น์ค๋ฅผ ์ปจํ ์ด๋์ ๋ฑ๋กํ๊ธฐ ์ํ ํด๋์ค
AuthServiceProvider.php : ์ฌ์ฉ์ ์ธ๊ฐ์ ๊ด๋ จ๋ ์ ์ฑ ๋ฑ๋กํ๊ธฐ ์ํ ํด๋์ค
BroadcastServiceProvider.php : ๋ธ๋ก๋์บ์คํธ ๋ฉ์์ง ์ ์ก ์ ์ด ํด๋์ค
EventServiceProvider.php : ์ด๋ฒคํธ์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ ์ฐ๊ฒฐ ํด๋์ค
RouteServiceProvider.php : routes ๋๋ ํ ๋ฆฌ์์ ์ ์ํ ๋ผ์ฐํ ํ์ฑํ ํด๋์ค
Models
User.php : ๊ธฐ๋ณธ ๋ด์ฅ User model
bootstrap : ํ๋ ์์ํฌ ๋ถํ ์คํฌ๋ฆฝํธ
composer.json : npm์ package.json๊ณผ ๊ฐ์ ํ๋ก์ ํธ ์์กด์ฑ ๊ด๋ฆฌ ๋ ์ง์คํธ๋ฆฌ
composer.lock : ํ์ฌ ํ๊ฒฝ์ ์ค์นํ ์์กด์ฑ์ ๋ฒ์ ์ ๊ธ ํ์ผ
config : db, ํ, ๋ฉ์ผ๋ฑ ์ ์ญ ์ค์ ์ ๋ด๋ ๋๋ ํ ๋ฆฌ
database
factories : ๋๋ฏธ ๋ชจ๋ธ์ ๋ง๋ค๊ธฐ ์ํ ๋ ์ํผ๋ฅผ ๋ด๋ ๋๋ ํ ๋ฆฌ
migrations : ํด๋น ํ๋ก์ ํธ์ dbํ ์ด๋ธ ์คํค๋ง๋ฅผ ๋ด๋ ๋๋ ํ ๋ฆฌ
seeds : ์์ฑํ ํ ์ด๋ธ์ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ ๋ ์ํผ๋ฅผ ๋ด๋ ๋๋ ํ ๋ฆฌ
package.json : ์ด ํ๋ก์ ํธ๊ฐ ์์กดํ๋ ํ๋ก ํธ์๋ ๋ฆฌ์์ค ๋ ์ง์คํธ๋ฆฌ
phpunit.xml : PhpUnit(ํ ์คํธ ํ๋ ์์ํฌ) ์ค์
public : ์น์๋ฒ ๋ฃจํธ ๋๋ ํ ๋ฆฌ
resources
css/js
lang : ๋ค๊ตญ์ด ์ง์์ ์ํ ์ธ์ด๋ณ ์ฌ์ ์ ๋ด๋ ๋๋ ํ ๋ฆฌ
vies : ๋ทฐ ํ์ผ์ ๋ด๋ ๋๋ ํ ๋ฆฌ
routes
api.php : api ์๋ ํฌ์ธํธ
console.php : ํด๋ก์ ํ์์ผ๋ก ์์ฑํ artisan ์ฝ์ ๋ช ๋ น
web.php : ์น ์๋ ํฌ์ธํธ
server.php: ๋ก์ปฌ ์น ์๋ฒ ๊ตฌ๋์ ์ํ ์คํฌ๋ฆฝํธ
storage : ๋ผ๋ผ๋ฒจ์ ํ์ผ ์ ์ฅ์(์บ์, ๋ก๊ทธ ๋ฑ)
tests : ํ ์คํธ ํ์ผ๋ค์ ๋ด๋ ๋๋ ํ ๋ฆฌ
vendor : ํด๋น ํ๋ก์ ํธ๊ฐ ์์กดํ๋ ์์กด์ฑ๋ค์ ๋ด๋ ๋๋ ํ ๋ฆฌ
์๋น์ค ์๋์๋ฆฌ
์ฌ์ฉ์๊ฐ ํ์ด์ง(ํน์ url)์์ฒญ
์์ฒญ์ด ์น์๋ฒ์ ๋์ฐฉํ๊ณ css/image๋ฑ ๋ฐ๋ก ์๋ตํ ์ ์๋ ์์ฒญ์ ์๋ตํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด index.php๋ก ์์ฒญ์ ๋๊ธด๋ค.
index.php์๋ ๋ผ๋ผ๋ฒจ์ ๋ถํ ์ํ์ค๊ฐ ๋ด๊ฒจ์์ด php์๊ฒ ์์ ์ ๋๊ธด๋ค.
routes/web.php์ ์ ์ํ ๋ผ์ฐํ ํ ์ด๋ธ์์ ์์ฒญ์ ์ ํฉํ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋๋ค.
์ ํฉํ ๊ฒฝ๋ก๊ฐ ์๋ค๋ฉด ์ค๋ฅ๋ฅผ ์๋ตํ๋ค.
์ ํฉํ ๊ฒฝ๋ก๊ฐ ์๋ค๋ฉด ์ ์ญ ๋ฏธ๋ค์จ์ด์ ํด๋น ๊ฒฝ๋ก์ ๋ง๋ route์ ์ ์ํ ๋ผ์ฐํธ ๋ฏธ๋ค์จ์ด๊ฐ http์์ฒญ์ ํํฐ๋งํ๋ค.
๋ฏธ๋ค์จ์ด๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๊ณ ์์ธ๋ ์ ์ญ ์์ธ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์ฒ๋ฆฌํ๋ค.
๋ฏธ๋ค์จ์ด๋ฅผ ํต๊ณผํ๋ฉด ์์ฒญ์ ์ฒ๋ฆฌํ ์ปจํธ๋กค๋ฌ์๊ฒ ์์ ์ ์์ํ๊ณ ์ปจํธ๋กค๋ฌ๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
์ด๋, ๋ผ๋ผ๋ฒจ ์ปดํฌ๋ํธ, ์ธ๋ถ ์ปดํฌ๋ํธ, ์ฌ์ฉ์ ์ ์ ์ปดํฌ๋ํธ๋ฑ์ ์ด์ฉํ์ฌ ์ฒ๋ฆฌ
์ฒ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ
์๋กํํธ(orm)
๋ฅผ ์ด์ฉํด db์ ์ํธ์์ฉํ๊ณ ์๋ต์ ๋ฐํํ๋ค.
์ธ๋ถ ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์ดํด๋ณผ๋ composer.json
๊ณผ routes/web.php
๋ฅผ ๊ฐ์ฅ ๋จผ์ ๋ด์ผ ์ด๋ค ์ธ๋ถ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋์ง์ url์ ์ปจํธ๋กค๋ฌ๊ฐ ์ฐ๊ฒฐ์ ํ์
ํ ์ ์๋ค.
app ํ๊ฒฝ ์ค์
APP_ENV=local : ๋ผ๋ผ๋ฒจ ์คํ ํ๊ฒฝ
APP_DEBUG=true : ๋๋ฒ๊ทธ ์ต์ ํ์ฑํ
APP_KEY=base64:xxxx.. : ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ํค ๊ฐ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฐ
php artisan key:generate
๋ช ๋ น์ด๋ก ์ต์ด์ ์ํธํ ํค๋ฅผ ๋ง๋ค ์ ์๋ค.์ค์ ์ด์์ค์ธ ์๋น์ค์ ์ด ๊ฐ์ด ๋ฐ๋๊ฒ ๋๋ฉด ์ฟ ํค์ ๊ฐ์ ๋ฏผ๊ฐ์ ๋ณด๋ค์ ๋ณตํธํ ํ ์ ์์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
APP_URL=htpp://localhost : ์ฝ์์๋ $_SERVER['HTTP_HOST']๊ฐ์ด ์์ด ์ํฐ์ฆ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ ์ด ์ค์ ์ ๋์ฒด๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค.
php artisan serve
๋ช
๋ น์ด๋ก ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ๋ฅผ ์คํ์ํฌ ์ ์๋ค.
Last updated