laravel的路由命名有什么用

2022-03-01 0 975

laravel中,路由命名的作用是生成路由,便于重定向;路由命名可以让特定路由方便地生成URL或重定向。开发者可以用name方法链接到路由来定义指定路由的名称。

laravel的路由命名有什么用

本教程操作环境: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/fooRoute::resource('products',  'ProductsController',  ['names'  =>  'foo']);route('foo.index'); // http://your.website/productsRoute::resource('products',  'ProductsController',  ['names'  =>  'admin.products']);route('admin.products.index'); // http://your.website/products

resource 路由前缀:

Route::resource('products',  'ProductsController',  ['as'  =>  'admin']);route('admin.products.index'); // http://your.website/products

【相关推荐:laravel视频教程】

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 laravel的路由命名有什么用 https://www.jike1995.com/31845.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务