Laravel-외관
외관은 static응용 프로그램의 서비스 컨테이너에서 사용할 수있는 클래스에 대한 인터페이스입니다. 라 라벨facades 역할을하다 static proxies 서비스 컨테이너의 기본 클래스에 추가하여 간결하고 표현적인 구문의 이점을 제공하면서 기존의 정적 메서드보다 더 많은 테스트 가능성과 유연성을 유지합니다.
Facade를 만드는 방법
다음은 Laravel에서 Facade를 만드는 단계입니다-
Step 1 − PHP 클래스 파일을 생성합니다.
Step 2 − 해당 클래스를 서비스 공급자에 바인딩합니다.
Step 3 − 해당 ServiceProvider를
공급자로서의 Config \ app.php.
Step 4 −이 클래스가 확장되는 클래스 생성
lluminate \ Support \ Facades \ Facade.
Step 5 − 포인트 4를 Config \ app.php에 별칭으로 등록합니다.
파사드 클래스 참조
Laravel은 많은 Facade를 제공합니다. 다음 표는 내장 된 Facade 클래스 참조를 보여줍니다.
정면 | 수업 | 서비스 컨테이너 바인딩 |
---|---|---|
앱 | Illuminate \ Foundation \ Application | 앱 |
장인 | Illuminate \ Contracts \ Console \ Kernel | 장인 |
인증 | Illuminate \ Auth \ AuthManager | 인증 |
인증 (인스턴스) | Illuminate \ Auth \ Guard | |
잎 | Illuminate \ View \ Compilers \ BladeCompiler | blade.compiler |
버스 | Illuminate \ Contracts \ Bus \ Dispatcher | |
은닉처 | Illuminate \ Cache \ Repository | 은닉처 |
구성 | Illuminate \ Config \ Repository | 구성 |
쿠키 | Illuminate \ Cookie \ CookieJar | 쿠키 |
토굴 | Illuminate \ Encryption \ Encrypter | 암호화 기 |
DB | Illuminate \ Database \ DatabaseManager | db |
DB (인스턴스) | Illuminate \ Database \ Connection | |
행사 | Illuminate \ Events \ Dispatcher | 이벤트 |
파일 | Illuminate \ Filesystem \ Filesystem | 파일 |
문 | Illuminate \ Contracts \ Auth \ Access \ Gate | |
해시시 | Illuminate \ Contracts \ Hashing \ Hasher | 해시시 |
입력 | Illuminate \ Http \ Request | 의뢰 |
Lang | Illuminate \ Translation \ Translator | 역자 |
로그 | Illuminate \ Log \ Writer | 로그 |
우편 | Illuminate \ Mail \ Mailer | 우편 발신인 |
암호 | Illuminate \ Auth \ Passwords \ PasswordBroker | auth.password |
열 | Illuminate \ Queue \ QueueManager | 열 |
대기열 (인스턴스) | Illuminate \ Queue \ QueueInterface | |
대기열 (기본 클래스) | Illuminate \ Queue \ Queue | |
리디렉션 | Illuminate \ Routing \ Redirector | 리디렉션 |
Redis | Illuminate \ Redis \ Database | 레디 스 |
의뢰 | Illuminate \ Http \ Request | 의뢰 |
응답 | Illuminate \ Contracts \ Routing \ ResponseFactory | |
노선 | Illuminate \ Routing \ Router | 라우터 |
개요 | Illuminate \ Database \ Schema \ Blueprint | |
세션 | Illuminate \ Session \ SessionManager | 세션 |
세션 (인스턴스) | Illuminate \ Session \ Store | |
저장 | Illuminate \ Contracts \ Filesystem \ Factory | 파일 시스템 |
URL | Illuminate \ Routing \ UrlGenerator | URL |
유효성 검사기 | Illuminate \ Validation \ Factory | 검증 인 |
유효성 검사기 (인스턴스) | Illuminate \ Validation \ Validator | |
전망 | Illuminate \ View \ Factory | 전망 |
보기 (인스턴스) | 조명 \보기 \보기 |
예
Step 1 −라는 서비스 제공 업체를 만듭니다. TestFacadesServiceProvider 다음 명령을 실행하여.
php artisan make:provider TestFacadesServiceProvider
Step 2 − 성공적으로 실행하면 다음과 같은 출력이 표시됩니다.
Step 3 −라는 클래스 생성 TestFacades.php ...에서 App/Test.
App/Test/TestFacades.php
<?php
namespace App\Test;
class TestFacades{
public function testingFacades() {
echo "Testing the Facades in Laravel.";
}
}
?>
Step 4 −라는 Facade 클래스를 만듭니다. “TestFacades.php” ...에서 “App/Test/Facades”.
App/Test/Facades/TestFacades.php
<?php
namespace app\Test\Facades;
use Illuminate\Support\Facades\Facade;
class TestFacades extends Facade {
protected static function getFacadeAccessor() { return 'test'; }
}
Step 5 −라는 Facade 클래스를 만듭니다. TestFacadesServiceProviders.php ...에서 App/Test/Facades.
App/Providers/TestFacadesServiceProviders.php
<?php
namespace App\Providers;
use App;
use Illuminate\Support\ServiceProvider;
class TestFacadesServiceProvider extends ServiceProvider {
public function boot() {
//
}
public function register() {
App::bind('test',function() {
return new \App\Test\TestFacades;
});
}
}
Step 6 − 파일에 서비스 제공 업체 추가 config/app.php 아래 그림과 같이.
config/app.php
Step 7 − 파일에 별칭 추가 config/app.php 아래 그림과 같이.
config/app.php
Step 8 − 다음 줄을 추가하십시오. app/Http/routes.php.
app/Http/routes.php
Route::get('/facadeex', function() {
return TestFacades::testingFacades();
});
Step 9 − Facade를 테스트하려면 다음 URL을 방문하십시오.
http://localhost:8000/facadeex
Step 10 − URL을 방문하면 다음 출력을 받게됩니다. −