当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel8中常用路由的使用详解

发布:smiling 来源: PHP粉丝网  添加日期:2024-03-08 17:51:33 浏览: 评论:0 

在Laravel 8中,路由定义了应用程序中接受请求的方式。它们定义了URL和相应的控制器方法之间的映射关系。

在Laravel 8中,可以使用Route类定义路由。基本的路由定义通常由HTTP请求方法(GET、POST、PUT、DELETE等)和URL路径组成,然后指定要执行的回调函数或控制器方法。

1、框架路由目录统一放该目录

laravel8中常用路由的使用详解

2、基本路由,路由都调用Route方法

use Illuminate\Support\Facades\Route;

3、控制器使用路由

UserController调用对应模块控制器的命名空间

路由常用方法get、post、put、delete

index对应控制器方法

  1. use App\Http\Controllers\UserController; 
  2. Route::get('/users', [UserController::class'index']); 
  3. Route::get('/users/{id}', [UserController::class'show']); 
  4. Route::post('/users', [UserController::class'store']); 
  5. Route::put('/users/{id}', [UserController::class'update']); 
  6. Route::delete('/users/{id}', [UserController::class'delete']); 
  7. Route::match(['get''post'], '/'function () { 
  8.     // ... 
  9. }); 
  10.    
  11. Route::any('/'function () { 
  12.     // ... 
  13. }); 

4、路由参数

Route::get('/users/{id}', [UserController::class, 'show']);

{id}是一个路由参数,它会匹配请求的URL中的实际值,并传递给show方法的参数

xxx.com/users/18 传递参数为18到该控制器方法

控制器接受

  1. public function show($id
  2.     // 根据$id查询用户数据 
  3.     // 返回用户信息视图 

5、路由组

路由组是用于将一组相关路由放在一起,并对它们应用相同的中间件或其他路由属性的技术。通过使用路由组,可以简化代码并提高可读性

  1. Route::prefix('admin')->group(function () { 
  2.     Route::get('/users', [UserController::class'index']); 
  3.     Route::post('/users', [UserController::class'store']); 
  4.     // 其他路由... 
  5. }); 

在上面的示例中,prefix方法用于指定路由组的URL前缀为/admin。在该路由组中定义的所有路由都将自动添加此前缀

6、命名路由

命名路由是为了方便在代码中引用路由而给路由指定的名称。命名路由可以用于生成URL或在重定向中使用

Route::get('/users', [UserController::class, 'index'])->name('users.index');

上述示例中,name方法用于为该路由定义一个名称,users.index是路由的名称。可以根据名称在代码中引用该路由。 在控制器中可以使用route助手函数生成命名路由的URL,例如:

$url = route('users.index');

以上代码将生成/users的URL。 命名路由还可以在重定向中使用,例如:

return redirect()->route('users.index');

以上代码将重定向到/users路径。 通过使用命名路由,我们可以将路由的实际URL与代码解耦,提高代码的可维护性

7、命令查看当前路由列表

php artisan route:list

8、路由缓存

生成缓存

php artisan route:cache

清除缓存

php artisan route:clear

Tags: laravel8常用路由

分享到: