這發生在路由檔案中。我已經改變了結構,這應該不是問題。
app\Domains\Admin\routes\admin.php
Route::group([
'namespace' => 'App\Domains\Admin\Http\Controllers',
'prefix' => 'admin',
'as' => 'admin.',
], function () use($backend)
{
//This ok, so I have admin.login, admin.logout...
Auth::routes();
//This not ok. I do have admin.dashboard, it didn't say route admin.dashboard not found,
//But says Target class [DashboardController] does not exist.
//Route::get('', [DashboardController::class, 'index'])->name('dashboard');
//This ok.
Route::get('', [App\Domains\Admin\Http\Controllers\DashboardController::class, 'index'])->name('dashboard');
});
app\Providers\RouteServiceProvider.php
// protected $namespace = 'App\\Http\\Controllers';
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
Route::middleware('web')
->namespace($this->namespace)
->group(app_path('Domains/Frontend/routes/web.php'));
Route::middleware('web')
->namespace($this->namespace)
->group(app_path('Domains/Admin/routes/admin.php'));
});
}
當提供命名空間時,為什么這不起作用?
Route::get('', [DashboardController::class, 'index'])->name('dashboard');
但是管理員身份驗證路由一切正常嗎?
我還在 RouteServiceProvider 中添加了命名空間
Route::middleware('web')
->namespace('App\Domains\Admin\Http\Controllers')
->group(app_path('Domains/Admin/routes/admin.php'));
沒用。
uj5u.com熱心網友回復:
請將此行添加到您的路線檔案的開頭
use App\Domains\Admin\Http\Controllers\DashboardController;
要不然
使用字串運算式,而不是類運算式
Route::get('', 'DashboardController@index')->name('dashboard');
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/490522.html
標籤:拉拉维尔
