我已经将我的Laravel应用程序升级到了版本10,在使用命名空间设置路由时遇到了问题。在以前的Laravel版本中,我在routes/web中使用了以下代码。php文件来设置一个带有命名空间的路由:
但是在Laravel 10中,这似乎不再起作用了。我得到一个“无效的路由操作”错误,名称空间包含在操作参数中。
我已经用下面的代码修复了图片上的第一条路由,现在这个路由工作得很好:
Route::namespace('App\Http\Controllers\Main')->group(function () {
Route::get('/', IndexController::class)->name('main.index');
});
Route::namespace('App\Http\Controllers\Admin')->prefix('admin')->group(function () {
Route::namespace('App\Http\Controllers\Admin\Main')->group(function () {
Route::get('/', App\Http\Controllers\Admin\Main\IndexController::class)->name('main.index');
});
});
Auth::routes();
但我不知道如何修复第二个路由与命名空间中的命名空间。
有人能提供如何在Laravel 10中正确设置带有命名空间的路由的指导吗?感谢您的评分
我在我的控制器中使用了__invoke()方法
namespace App\Http\Controllers\Main;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
public function __invoke()
{
return view('main.index');
}
}
1条答案
按热度按时间tkclm6bt1#
我认为命名空间是附加的。第一个应为
'App\Http\Controllers\Admin'
,第二个应为'Main'
例如