본문 바로가기

나만 중요한 Tip

Laravel Windows 11 Laravel Sail + Docker

Laravel

 

docker --version
composer --version
git --version

필수 소프트웨어 확인

XAMPP, Docker Desktop

Composer: PHP 의존성 관리 도구

Git: 소스 코드 관리 및 예제 프로젝트 클론을 위해 필요.

Windows Subsystem for Linux 2 (WSL2): Docker Desktop이 WSL2 백엔드를 사용하도록 설정

(설정 방법: Microsoft WSL2 설치 가이드)

 

Install WSL

Install Windows Subsystem for Linux with the command, wsl --install. Use a Bash terminal on your Windows machine run by your preferred Linux distribution - Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine, and more are available.

learn.microsoft.com

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

 

docker --version
composer --version
git --version

 

Laravel Sail 설치

새 Laravel 프로젝트 생성

composer create-project laravel/laravel example-app # 프로젝트명

 

sail 설치 

composer 종속성을 추가해줍시다.

composer require laravel/sail --dev
cd example-app
php artisan sail:install

 

sail을 실행 

# 윈도우 실행
bash ./vendor/laravel/sail/bin/sail up

# 포그라운드에서는 ctrl+c, 백그라운드는 sail stop 명령어로 종료가 가능합니다.

 

  • -d 플래그는 백그라운드에서 컨테이너를 실행합니다.
  • XAMPP의 Apache/MySQL이 실행 중이라면 중지하세요 (포트 충돌 방지).ianclemence.medium.com
  • 브라우저에서 http://localhost에 접속해 Laravel 환영 페이지 확인.

.env 파일을 열어 데이터베이스 설정

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=example_app
DB_USERNAME=sail
DB_PASSWORD=password

 

애플리케이션 키 생성

## PowerShell
bash ./vendor/bin/sail down
bash ./vendor/bin/sail artisan key:generate
bash ./vendor/bin/sail up -d

## WSL 2 터미널에서 실행
# WSL 2 터미널 열기
# PowerShell이나 명령 프롬프트에서 wsl을 입력하여 WSL 2 환경으로 진입
# WSL 2 터미널에서 라라벨 프로젝트가 있는 디렉토리로 이동
# Windows 드라이브는 /mnt/c/, /mnt/d/ 등으로 마운트되어 있습니다.
# 예를 들어, 프로젝트가 C:\dev\dail-app에 있다면:
cd /mnt/c/dev/dail-app
./vendor/bin/sail down
./vendor/bin/sail artisan key:generate
./vendor/bin/sail up -d

 

마이그레이션 실행

## WSL 2 터미널
./vendor/bin/sail artisan migrate

 

 

 

Laravel 유효성 검사(Validation)

유효성 검사 규칙 목록 (주요 규칙 위주)1. 필수 필드 (Presence)required: 필드가 존재하고 비어 있지 않아야 합니다. (빈 문자열, 빈 배열, null 모두 허용 안 함)required_if:anotherfield,value,...: anotherfield의

feeris.tistory.com

 

 

Laravel 관계형 메서드 종류와 설명

🌐 1. 관계형 메서드 종류와 설명메서드설명예시hasOne현재 모델이 다른 모델을 1개만 가짐User hasOne ProfilebelongsTo현재 모델이 다른 모델에 속함Profile belongsTo UserhasMany현재 모델이 다른 모델을 여러

feeris.tistory.com

 

 

Laravel 컨트롤러 (Controllers) 예시

Laravel 컨트롤러는 웹 애플리케이션의 요청을 처리하고 응답을 생성하는 역할을 하는 PHP 클래스입니다. MVC 패턴에서 컨트롤러는 모델과 뷰 사이의 중개자 역할을 하며, 사용자 입력에 따라 모델

feeris.tistory.com

 

 

Laravel route(라우트) 게시글 예시 (php artisan route:list)

🗺️ 전체 라우트 구조 설명경로역할컨트롤러/뷰/메인 홈페이지welcome.blade.php/dashboard인증된 사용자용 대시보드dashboard.blade.php/settings/*Volt 기반 사용자 설정Volt 컴포넌트/boards게시판 목록/생성

feeris.tistory.com

 

 

Laravel Blade 문법

🧠 Blade 문법 설명문법설명{{ $변수 }}데이터를 출력합니다. HTML로 자동 이스케이프 처리되어 XSS 공격을 방지합니다@csrf폼 요청 시 CSRF 토큰을 자동으로 생성합니다. POST, PUT, DELETE 요청에 필수입

feeris.tistory.com

 

 

Laravel 실무에서 자주 쓰는 artisan 명령어

💡 실무에서 자주 쓰는 artisan 명령어Laravel의 강력한 커맨드 라인 도구로, 개발 속도를 획기적으로 향상시킴.명령어설명사용 예시php artisan serve개발 서버 실행localhost:8000 접속php artisan make:controlle

feeris.tistory.com

 

 

Laravel 기본 구조 및 각 폴더/파일의 기능

🌐 Laravel 기본 구조 및 각 폴더/파일의 목적✅ 1. 최상단 파일들.env, .env.example: 환경설정 파일 (DB 접속, 메일, APP_KEY 등).artisan: Laravel CLI(Command Line Interface) 실행 파일.composer.json, composer.lock: PHP 패키

feeris.tistory.com

 

 

Laravel 윈도우 환경 설치

composer global require laravel/installerlaravel new example-app 🚀 Laravel 스타터 키트 종류선택지설명추천 대상None아무 것도 설치하지 않음API 백엔드만 만들거나 직접 구성하고 싶은 경우ReactReact + Inertia.js 기

feeris.tistory.com

 

 

Laravel Windows 11 Laravel Sail + Docker

docker --versioncomposer --versiongit --version필수 소프트웨어 확인XAMPP, Docker DesktopComposer: PHP 의존성 관리 도구Git: 소스 코드 관리 및 예제 프로젝트 클론을 위해 필요.Windows Subsystem for Linux 2 (WSL2): Docker Des

feeris.tistory.com