Делаю всё по инструкции, удалил внутренности стандартного класса LoginController и прописал PHP: <?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Support\Facades\Auth; class LoginController extends Controller { public function authenticate() { if (Auth::attempt(['email' => $email, 'password' => $password])) { // Аутентификация успешна return redirect()->intended('dashboard'); } } } И теперь ругается (1/1) BadMethodCallException Method [showLoginForm] does not exist.
Надо либо трейт использовать, как по умолчанию сделано, либо буквально скопировать его методы. Нельзя вот так вот сделать наполовину.
Работают, если быть внимательным. И не все примеры кода можно считать руководством к действию. Иногда это схематичное объяснение как всё это работает внутри. Короче, контекст нельзя игнорировать. Инструкция отличается конкретностью: выполните это, затем это. Ты уверен, что получил такую инструкцию? --- Добавлено --- Насколько я помню, инструкция рассказывает как сгенерировать заготовку контроллера. В ней трейт будет прописан автоматически.
PHP: use AuthenticatesUsers; public function authenticate(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { // Authentication passed... return redirect()->intended('dashboard'); } }