Laravel 파사드

Jmnote (토론 | 기여)님의 2024년 6월 12일 (수) 00:36 판 (→‎소개)
Facades
파사드

1 소개

Laravel 문서 전체에서 "파사드(facades)"를 통해 Laravel의 기능과 상호작용하는 코드 예제를 볼 수 있습니다. 파사드는 애플리케이션의 서비스 컨테이너에서 사용할 수 있는 클래스에 대한 "정적" 인터페이스를 제공합니다. Laravel은 거의 모든 Laravel 기능에 접근할 수 있는 여러 파사드를 기본으로 제공합니다.

Laravel 파사드는 서비스 컨테이너에 있는 클래스에 대한 "정적 프록시" 역할을 하여 전통적인 정적 메소드보다 더 많은 테스트가능성과 유연성을 유지하면서 간결하고 표현력 있는 구문을 제공하는 장점을 가지고 있습니다. 파사드가 어떻게 작동하는지 완전히 이해하지 못해도 괜찮습니다. 계속해서 Laravel에 대해 배우면서 자연스럽게 익히면 됩니다.

모든 Laravel 파사드는 Illuminate\Support\Facades 네임스페이스에 정의되어 있습니다. 따라서 다음과 같이 쉽게 파사드에 접근할 수 있습니다:

use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Route;

Route::get('/cache', function () {
    return Cache::get('key');
});

Laravel 문서 전반에 걸쳐, 다양한 프레임워크 기능을 설명하기 위해 파사드를 사용하는 많은 예시들이 있습니다.

헬퍼 함수

파사드를 보완하기 위해, Laravel은 일반적인 Laravel 기능과 상호작용을 더욱 쉽게 할 수 있도록 다양한 전역 "헬퍼 함수"를 제공합니다. 자주 사용되는 헬퍼 함수로는 view, response, url, config 등이 있습니다. Laravel에서 제공하는 각 헬퍼 함수는 해당 기능과 함께 문서화되어 있으며, 전체 목록은 헬퍼 전용 문서에서 확인할 수 있습니다.

예를 들어, JSON 응답을 생성하기 위해 Illuminate\Support\Facades\Response 파사드를 사용하는 대신, response 함수를 간단히 사용할 수 있습니다. 헬퍼 함수는 전역적으로 사용가능하므로, 이를 사용하기 위해 어떤 클래스를 임포트할 필요가 없습니다:

use Illuminate\Support\Facades\Response;

Route::get('/users', function () {
    return Response::json([
        // ...
    ]);
});
 
Route::get('/users', function () {
    return response()->json([
        // ...
    ]);
});

2 파사드를 사용해야 할 때

2.1 파사드 vs 의존성 주입

2.2 파사드 vs 헬퍼 함수

3 파사드의 작동 방식

4 실시간 파사드

5 Facade 클래스 참조

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}