关于路由的一个问题,试了下评论的答案,但是都报错了,这是为什么呢
我看到文档里面有这个
生成指定路由的 URL
// 生成链接…
$url = route(‘profile’);
假设我在我的routes/web.php文件内添加以下路由
Route::get('pro',function(){
return 'pro'
})->name('profile');
上面这条路由命名为profile,
// 生成链接…
$url = route(‘profile’);
我想问下我怎么在其他路由中使用这个$url变量?
当访问 pro 时候,这变量又没有创建,当访问其他路由时候又用不到这条路由,这变量也没创建,这怎么使用这个变量?
在使用的地方使用 route(’profile‘) 生成就好了
你所问的是闭包的传递变量而已
你好,为什么当我把下面代码贴到web.php中后
$url = route ('profile'); Route::get('pro',function() use ($url) { return 'pro' })->name('profile');
访问 pro 路由时出现错误 Symfony\Component\Routing\Exception\RouteNotFoundException Route [profile] not defined.
你可以这样
@风吹过有夏天的味道 Route::get('profile',function() { return 'profile' ;})->name('profile'); // 定义profile路由 $url = route ('profile'); // 获取 路由url Route::get('pro',function() use ($url) { return 'pro'; })->name('pro'); // 在另一个路由中使用
你确定可以吗,为什么我加到代码中,访问 homestead.test/pro 会提示Route [profile] not defined.
哥们,代码不应该在控制器中写的吗(虽然可以在路由闭包写,但不建议这么做),执行也有先后顺序吧,建议你先看看文档。别提这样的问题,我难受。如果你写在控制器中/视图中 提示该路由找不到,可能有以下几种情况 1.路由有缓存,使用php artisan route:clear进行清除缓存 2.有可能是opcache开启了缓存,关闭掉opcache或者是执行opcache_reset()函数