这篇“laravel的路由命名有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“laravel的路由命名有什么作用”文章吧。

成都创新互联是一家集网站建设,竞秀企业网站建设,竞秀品牌网站建设,网站定制,竞秀网站建设报价,网络营销,网络优化,竞秀网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
在laravel中,路由命名的作用是生成路由,便于重定向;路由命名可以让特定路由方便地生成URL或重定向。开发者可以用name方法链接到路由来定义指定路由的名称。
本教程操作环境:windows7系统、Laravel6版、Dell G3电脑。
laravel的路由命名
laravel 路由命名的作用:生成路由,便于重定向。
路由命名可以让特定路由方便地生成 URL 或重定向。您可以用 name 方法链接到路由来定义指定路由的名称:
Route::get('user/profile', function () {
//
})->name('profile');还可以为控制器的方法指定路由名称:
Route::get('user/profile', 'UserProfileController@show')->name('profile');生成指向命名路由的 URL
一旦为给定路由分配了名称,则在通过全局 route 函数生成 URL 或重定向时,可以使用路由的名称:
// 生成 URL...
$url = route('profile');
// 重定向...
return redirect()->route('profile');如果命名路由定义了参数,则可以将参数作为第二个参数传递给 route 函数。给定的参数将自动插入到其正确位置的 URL 中:
Route::get('user/{id}/profile', function ($id) {
//
})->name('profile');
$url = route('profile', ['id' => 1]);检查当前路由
如果您想要确定当前请求是否路由到给定的命名路由,您可以在路由实例上使用 named 方法。例如,您可以在路由中间件检查当前路由名称:
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->route()->named('profile')) {
//
}
return $next($request);
}路由名称前缀
name 方法可以用来给路由组中的每个路由名称添加一个给定的字符串。 例如,您可能希望以 「admin」为所有分组路由的名称加前缀。 给定的字符串与指定的路由名称前缀完全相同,因此我们将确保在前缀中提供尾部的 . 字符:
Route::name('admin.')->group(function () {
Route::get('users', function () {
// 指定路由名为 "admin.users"...
})->name('users');
});resource 路由命名
resource 路由
Route::resource('users', 'UsersController');上面代码将等同于:
Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');resource 路由的命名
Route::resource('foo', 'ProductsController');
route('foo.index'); // http://your.website/foo
Route::resource('products', 'ProductsController', ['names' => 'foo']);
route('foo.index'); // http://your.website/products
Route::resource('products', 'ProductsController', ['names' => 'admin.products']);
route('admin.products.index'); // http://your.website/productsresource 路由前缀:
Route::resource('products', 'ProductsController', ['as' => 'admin']);
route('admin.products.index'); // http://your.website/products以上就是关于“laravel的路由命名有什么作用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。