Moin, wie schafft man es, dass nicht immer eine invokalbe Methode verlangt wird, obwohl ich diese nicht nutzen will?
UnexpectedValueException
Invalid route action: [App\Http\Controllers\LoginController].
at vendor\laravel\framework\src\Illuminate\Routing\RouteAction.php:92
88▕ */
89▕ protected static function makeInvokable($action)
90▕ {
91▕ if (! method_exists($action, '__invoke')) {
➜ 92▕ throw new UnexpectedValueException("Invalid route action: [{$action}].");
93▕ }
94▕
95▕ return $action.'@__invoke';
96▕ }
i `App\Http\Controllers\LoginController` is not invokable: The controller class `App\Http\Controllers\LoginController` is not invokable. Did you forget to add the `__invoke` method or is the controller's method missing in your routes file?
1 vendor\laravel\framework\src\Illuminate\Routing\RouteAction.php:47
Illuminate\Routing\RouteAction::makeInvokable("App\Http\Controllers\LoginController")
2 vendor\laravel\framework\src\Illuminate\Routing\Route.php:191
Illuminate\Routing\RouteAction::parse("login", ["App\Http\Controllers\LoginController", "App\Http\Controllers\LoginController"])
Hier ist mein heruntergebrochener Code:
Web.php
use App\Http\Controllers\HomeController;
use App\Http\Controllers\LoginController;
use App\Http\Controllers\RegisterController;
use Illuminate\Support\Facades\Route;
Route::get('/', HomeController::class, 'home')->name('home');
Route::get('/login', LoginController::class, 'login')->name('login');
Route::get('/register', RegisterController::class, 'register')->name('register');
Controller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class LoginController extends Controller
{
public function login(){
return view('home');
}
}
Die andern sehen identisch aus