当前位置: 首页 > news >正文

laravel8中常用路由使用(笔记四)

目录

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

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

 3、控制器使用路由

4、路由参数

5、路由组

6、命名路由

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

 8、路由缓存


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

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

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

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

use Illuminate\Support\Facades\Route;

 3、控制器使用路由

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

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

index对应控制器方法

use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Route::get('/users/{id}', [UserController::class, 'show']);
Route::post('/users', [UserController::class, 'store']);
Route::put('/users/{id}', [UserController::class, 'update']);
Route::delete('/users/{id}', [UserController::class, 'delete']);
Route::match(['get', 'post'], '/', function () {// ...
});Route::any('/', function () {// ...
});
4、路由参数

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

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

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

控制器接受

public function show($id)
{// 根据$id查询用户数据// 返回用户信息视图
}
5、路由组

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

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

在上面的示例中,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

 

http://www.lryc.cn/news/246208.html

相关文章:

  • 理解 <script> 标签的 defer 和 async 属性
  • sql中group by和having的使用
  • 用python自行开发的流星监控系统meteor_monitor(第二篇)
  • Slf4j使用Logback时,Logback如何初始化
  • css之svg 制作圆及旋转
  • 学习.NET验证模块FluentValidation的基本用法(续1:其它常见用法)
  • lv11 嵌入式开发 UART实验 11
  • Ubuntu22.04下打包发布Qt5.15应用程序的方法
  • 初级JVM
  • MySQL数据库 编程入门
  • 6.golang函数
  • 软件可靠性测试常见的方法
  • C/C++字节对齐
  • 【Android知识笔记】性能优化专题(四)
  • DC电源模块的散热措施
  • uniapp H5、小程序、APP端自定义不同运行环境(开发、测试、生产)、自定义条件编译平台、以及动态修改manifest.json值讲解
  • centos 显卡驱动安装(chatglm2大模型安装步骤一)
  • 05_属性描述符
  • vue day2
  • 四川劳动保障杂志社四川劳动保障编辑部四川劳动保障杂志2023年第10期目录
  • python数据类型
  • 大数据-之LibrA数据库系统告警处理(ALM-37004 Datanode主备不同步或者断连)
  • 带你用uniapp从零开发一个仿小米商场_2.创建空白项目及公共样式引入
  • 1144. 连接格点,Kruskal算法,二维矩阵压缩为一维
  • C++ : 友元(未完结)
  • Nginx 服务器 SSL 证书安装部署
  • GC9118S低压 5V 全桥驱动芯片,内置过温保护,低电流睡眠模式,可替代TMI8118
  • windows dockerdesktop 安装sqlserver2022
  • 在ubuntu系统安装SVN服务端,并通过客户端进行远程访问
  • STL函数对象-C++