Laravel 11이 2024년 3월에 공식 출시되면서 프레임워크 전반에 걸쳐 많은 변화가 있었습니다. 이번 글에서는 개발자가 꼭 알아야 할 주요 변경사항들을 상세히 정리해봅니다.
1. 슬림해진 애플리케이션 구조
Laravel 11에서는 기본 애플리케이션 골격이 크게 단순화되었습니다. 불필요한 파일들이 제거되고, 더 깔끔한 구조를 제공합니다.
1.1 제거된 파일들
다음 파일들이 기본 설치에서 제거되었습니다:
app/Http/Controllers/Controller.php기본 컨트롤러- 대부분의 미들웨어 클래스들
- 여러 개의 서비스 프로바이더
1.2 새로운 구조
더 적은 수의 파일로도 동일한 기능을 구현할 수 있습니다. 이는 프로젝트 시작 시 더 가벼운 환경을 제공합니다.
1.2.1 루트 디렉토리 구조
루트 디렉토리의 bootstrap/app.php 파일이 중앙 설정 파일이 되었습니다.
1.2.2 App 디렉토리
필요한 모델이나 컨트롤러만 생성하면 되므로, 더 깔끔한 상태를 유지할 수 있습니다.
2. bootstrap/app.php 중앙화
미들웨어, 라우팅, 예외 처리 설정이 이제 한 곳에서 관리됩니다.
2.1 기본 구조
모든 설정이 bootstrap/app.php에서 이루어집니다.
2.2 미들웨어 설정
withMiddleware() 메서드를 사용하여 미들웨어를 설정합니다.
2.2.1 웹 미들웨어
웹 라우트 그룹에 적용할 미들웨어를 정의할 수 있습니다.
2.2.2 API 미들웨어
API 라우트에 별도의 미들웨어를 적용할 수 있습니다.
3. 새로운 Artisan 명령어
개발 생산성을 높이는 새로운 Artisan 명령어들이 추가되었습니다.
3.1 클래스 생성 관련
php artisan make:classphp artisan make:enumphp artisan make:interfacephp artisan make:trait
3.2 사용 예시
예를 들어 Enum을 생성하려면:
3.2.1 기본 Enum 생성
php artisan make:enum Status
3.2.2 Backed Enum 생성
php artisan make:enum Status --string
마치며
Laravel 11은 코드베이스를 더 가볍고 현대적으로 만드는 방향으로 진화했습니다. 기존 프로젝트 마이그레이션 시 공식 업그레이드 가이드를 꼭 참고하세요.
참고 자료
- Laravel 11 공식 문서
- 업그레이드 가이드
- 릴리즈 노트