Problem
Chcesz dodać oprogramowanie pośrednie do swojej aplikacji, ale nie wiesz, od czego zacząć.
Rozwiązanie
Utwórz prostą klasę oprogramowania pośredniego.
Krok 1 - Utwórz klasę
Użyj Symfony \ Component \ httpfoundation \ żądanie;
Użyj Symfony \ Component \ Httpfoundation \ Response;
Użyj Symfony \ Component \ httpkernel \ httpkernelinterface;
Klasa oprogramowania pośredniego implementuje httpkernelinterface
chroniona aplikacja $;
/**
* Konstruktor
*/
funkcja publiczna __Construct (httpkernelinterface $ App)
$ this-> app = $ app;
/**
* Obsługuj żądanie, zwróć odpowiedź
*
* @Implements httpkerneLinterface :: uchwyt
*
* @param \ Symfony \ Component \ httpfoundation \ żądanie $ żądanie
* @param int $ typ
* @param bool $ catch
* @return \ Symfony \ Component \ httpfoundation \ Odpowiedź
*/
Publiczny uchwyt funkcji (żądanie $ żądanie,
$ type = httpkerneLinterface :: master_request, $ catch = true)
// 1) W razie potrzeby zmodyfikuj żądanie przychodzące
…
// 2) Łańcz obsługę aplikacji, aby uzyskać odpowiedź
$ response = $ this-> app-> uchwyt ($ żądanie, $ type, $ catch);
// 3) W razie potrzeby zmodyfikuj odpowiedź
…
// 4) Zwróć odpowiedź
zwrot $ odpowiedź;
?>
Krok 2 - Zarejestruj klasę oprogramowania pośredniego
Musisz to zrobić w metodzie rejestru () usługodawcy.
App :: „MyApp \ Middleware”);
Alternatywnie możesz zainstalować prosty pakiet, który umożliwia zarejestrowanie oprogramowania pośredniego App/Start/Preboot.php.
Aby uzyskać szczegółowe informacje.
Dyskusja
Powyższa klasa nic nie robi.
Ale to dobry szkielet na początek. Oczywiście musisz zmienić przestrzeń nazw i nazwę klas, aby pasować do Twojej aplikacji.
Wtedy możesz spróbować zarejestrować coś, aby upewnić się, że to działa. Możesz zaktualizować metodę klasę, jak określono poniżej.
// w kroku nr 1) W razie potrzeby zmodyfikuj żądanie przychodzące
// Zaloguj się do pliku. Od aplikacji/start/global.PHP nie został trafiony
// jednak fasada dziennika nie jest jeszcze ustawiona na logowanie do pliku. Więc tylko
// zapisz bezpośrednio do pliku.
$ logFile = Storage_Path ().'/logs/laravel.dziennik';
ERROR_LOG („WEJŚCIE MILDEWAŻ \ N”, 3, $ LOGFILE);
// w kroku #3) Zmodyfikuj odpowiedź w razie potrzeby
// Zaloguj się do pliku. Jesteśmy teraz bezpieczni w użyciu fasady dziennika
// powinno być skonfigurowane w App/Start/Global.php
Log :: info („Middleware Exit”);
Teraz możesz zbadać swoje App/Storage/Logs/Laravel.dziennik
Plik, aby zobaczyć, że twoje oprogramowanie pośrednie działa.