변수 정의
항상 변수명 앞에 '$'를 붙여 변수명을 정의한다.
namespace App\Console
class Kernel extends ConsoleKernel{
}
코드 조직화
관련된 클래스와 기능을 그룹화하여 코드를 쉽게 관리
예를 들어, 데이터베이스 관련 클래스는 Illuminate\Database 네임스페이스 아래에, 라우팅 관련 클래스는 Illuminate\Routing 네임스페이스 아래에 있습니다.
이름 충돌 방지
대규모 애플리케이션에서 동일한 이름을 가진 클래스나 함수가 조재할 가능성이 크다
네임스페이스를 사용하면 이러한 이름 충돌을 피할 수 있다.
예를 들어, App\Http\Controllers\UserController와 App\Models\UserController는 네임스페이스 덕분에 충돌 없이 공존할 수 있습니다.
자동 로딩
app/Console/Kernel 클래스 : 아티즌 명령어를 등록하는 역할
아티즌 : 라라벨에 포함된 커맨드 라인 인터페이스, 개발과 애플리케이션 관리를 위한 다양한 명령어 제공
라라벨 디렉토리 구조
서비스 프로바이더
서비스 컨테이너 => 클래스 간의 의존성을 해결하고, 다양한 서비스와 객체를 효율적으로 관리