W Laravelu dostajemy "za darmo" mechanizm rejestracji i logowania użytkowników. W nowej aplikacji mamy już kontrolery dla rejestracji, logowania i resetowania haseł. Gdy wywołamy komendę php artisan make:auth
dostaniemy ścieżki i widoki dla tych funkcjonalności.
Załóżmy jednak, że tworzymy aplikację, w której nie potrzebujemy funkcji rejestracji. Usunięcie tej funkcji jest łatwe, wystarczy kilka kroków:
1. Usunięcie ścieżek rejestracji
Wywołanie komendy php artisan make:auth
powoduje dodanie instrukcji Auth::routes()
w pliku routes/web.php
. Od wersji frameworka 5.7.3 możemy jako parametr metody routes()
podać tablicę opcji:
// routes/web.php
Auth::routes(['register' => false]);
Ustawienie klucza register
na false
spowoduje, że framework nie zarejestruje ścieżek potrzebnych do rejestracji.
2. Usunięcie kontrolera rejestracji
Usuńmy niepotrzebny kontroler app/Http/Controllers/Auth/RegisterController.php
.
3. Usunięcie widoku rejestracji
Usuńmy niepotrzebny widok resources/views/auth/register.blade.php
.
4. Usunięcie linków do rejestracji
W wygenerowanych przez framework widokach znajdują się linki do rejestracji. W pliku resources/views/welcome.blade.php
mamy takie trzy linijki:
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif
Sprawdzamy tu czy ścieżka dla rejestracji istnieje. Jeśli nie, to link się nie wyświetli. Ścieżkę już usunęliśmy, możemy zatem zostawić te linijki w kodzie. Zróbmy jednak porządek i usuńmy je.
Podobnie jest w pliku resources/views/layouts/app.blade.php
:
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
Te pięć linijek też usuńmy.
To wszystko, usunęliśmy ścieżki, kontroler, widoki i linki do funkcjonalności rejestracji z naszej aplikacji.