I have problem with routes if using resource. I upgrade from php 7.4/laravel 7 to php 8.2/laravel 10.
After upgrade all routes error. target class controller does not exist
laravel 7 code
Route::get('home', 'HomeController@home');
Route::post('save', 'HomeController@save');
Route::resource('admin', 'AdminController');
laravel 10 code
Route::get('home', 'App\Http\Controllers\HomeController@home');
Route::post('save', 'App\Http\Controllers\HomeController@save');
Route::resource('/admin', 'App\Http\Controllers\AdminController');
so i changed my code like above. the route with get & post now already ok, but for the resources still get error Target class [] does not exist
i try change using class like this
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AdminController;
Route::resource('/admin', AdminDocController::class);
Routeservicesprovider.php
class RouteServiceProvider extends ServiceProvider
{
/**
* The path to your application's "home" route.
*
* Typically, users are redirected here after authentication.
*
* @var string
*/
public const HOME = '/home';
protected $namespace = 'App\\Http\\Controllers';
/**
* Define your route model bindings, pattern filters, and other route configuration.
*/
public function boot(): void
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});
$this->routes(function () {
Route::middleware('api')
->prefix('api')
->group(base_path('routes/api.php'));
Route::middleware('web')
->group(base_path('routes/web.php'));
});
}
}