当前位置: 首页 > 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

 

相关文章:

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

目录 1、框架路由目录统一放该目录 2、基本路由,路由都调用Route方法 3、控制器使用路由 4、路由参数 5、路由组 6、命名路由 7、命令查看当前路由列表 8、路由缓存 在Laravel 8中,路由定义了应用程序中接受请求的方式。它们定义了URL和相应的控制器方法之间的…...

理解 <script> 标签的 defer 和 async 属性

当我们在编写网页时&#xff0c;经常需要在 HTML 文件中引入 JavaScript 文件。这时候&#xff0c;我们通常会使用 开始 在介绍 defer 和 async 属性之前&#xff0c;我们先来看一下 <script src"path/to/script.js"></script>这段代码会在浏览器解…...

sql中group by和having的使用

group by&#xff1a;按照某个字段或者某些字段进行分组。 having&#xff1a;对分组之后的数据进行再次过滤&#xff0c;having必须和group by一起用&#xff0c;且在group by后面。 比如person表如下&#xff08;以下查询均基于此表&#xff09;&#xff1a; 1.group by 用法…...

用python自行开发的流星监控系统meteor_monitor(第二篇)

代码&#xff1a; GitHub - xingxinghuo1000/meteor_monitor_scripts 本篇为最新代码的方案介绍和使用介绍。第一篇已经过时了&#xff0c;不建议看 。只看这一篇即可。 背景 著名的流星监控软件ufocapturehd2有几个缺陷&#xff0c;不能忍 1、吃性能&#xff0c;我的工控电脑…...

Slf4j使用Logback时,Logback如何初始化

前言 Slf4j SLF4J&#xff0c;全称 Simple Logging Facade for Java&#xff0c;是一个用于Java编程语言的日志系统抽象层。它为多种现有日志框架&#xff08;例如Log4j、java.util.logging等&#xff09;提供了统一的接口, 但自身并不实现日志功能。 SLF4J 允许用户在部署时…...

css之svg 制作圆及旋转

1.代码 <template><div class"loading-box"><div class"circle-container"><svg width"75" height"75" class"move-left-to-right"><circle cx"37.5" cy"37.5" r"26&…...

学习.NET验证模块FluentValidation的基本用法(续1:其它常见用法)

FluentValidation模块支持链式验证方法调用&#xff0c;也就是说&#xff0c;除了 RuleFor(r > r.UserName).NotEmpty()调用方式之外&#xff0c;还可以将对单个属性的多种验证函数以链式调用方式串接起来&#xff0c;比如UserName属性不能为空&#xff0c;长度在5~10之间&a…...

lv11 嵌入式开发 UART实验 11

目录 1 UART帧格式详解 1.1 UART简介 1.2 通信基础 - 并行和串行 1.3 通信基础 - 单工和双工 1.4 通信基础 - 波特率 1.5 UART帧格式 2 Exynos4412下的UART控制器 2.1 引脚功能设置 2.2 阅读芯片手册 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 3.3 ULC…...

Ubuntu22.04下打包发布Qt5.15应用程序的方法

Qt应用编译时选择release方式编译 目的&#xff1a;debug方式编译依赖的文件会多一些&#xff0c;同时文件大小还会很大。 Notice: 所有操作都是在当前用户下&#xff0c;如果是root账户&#xff0c;需要注意加上sudo&#xff0c;否则会因为权限问题提取依赖文件失败。 准备…...

初级JVM

1、对象在哪块内存分配&#xff1f; 数组和对象在堆内存分配&#xff1b;某些对象没有逃逸出方法&#xff0c;可能被优化为在栈上分配 2、谈谈 JVM 中的常量池 JDK 1.8 开始 字符串常量池&#xff1a;存放在堆中&#xff0c;包括 String 对象执行 intern() 方法后存的地方、…...

MySQL数据库 编程入门

目录 MySQL数据库数据类型 MySQL数据库命令执行 创建用户 创建删除库 创建删除表 MySQL数据库数据类型 MySQL数据库定义了多种数据类型&#xff0c;下面是一些常见的MySQL数据类型及其对应的C/C类型&#xff1a; 整数类型&#xff1a; TINYINT&#xff1a;有符号范围-1…...

6.golang函数

函数是执行特定任务的代码块。函数接受输入&#xff0c;对输入执行一些计算&#xff0c;然后生成输出。 函数声明 在 go 中声明函数的语法是&#xff1a; func name(parameter) (result-list){//body }函数声明以func关键字开头&#xff0c;后跟name(函数名)。在括号中指定参…...

软件可靠性测试常见的方法

“测试”一般是指“为了发现程序中的错误而执行程序的过程”&#xff0c;可靠的测试性是相对重要的&#xff0c;在部分产品开始的测试阶段&#xff0c;需要的就是可靠的测试性&#xff0c;机构&#xff0c;所以存在意义较大。但是在不同的开发阶段、对于不同的人员&#xff0c;…...

C/C++字节对齐

C/C字节对齐 C/C字节对齐1.G_PACKED2.1 pack(push)2.2 pack(1) 全部例子 C/C字节对齐 1.G_PACKED #ifdef __GNUC__#define G_PACKED( __Declaration__ ) __Declaration__ __attribute__((packed)) #else#define G_PACKED( __Declaration__ ) __pragma( pack(push,1)) __Decla…...

【Android知识笔记】性能优化专题(四)

App 线程优化 线程调度原理 任意时刻,只有一个线程占用CPU,处于运行状态多线程并发:轮流获取CPU使用权JVM负责线程调度:按照特定机制分配CPU使用权线程调度模型 分时调度模型:轮流获取、均分CPU时间抢占式调度模型:优先级高的获取,JVM采用Android线程调度 nice值:Proc…...

DC电源模块的散热措施

BOSHIDA DC电源模块的散热措施 DC电源模块的散热措施可以分为以下几种&#xff1a; 1. 增加散热器&#xff1a;在DC电源模块的电路板上增加散热片或散热器&#xff0c;通过增加散热面积和散热能力来提高散热效果。 2. 增加风扇&#xff1a;在散热器的基础上增加风扇&#xff…...

uniapp H5、小程序、APP端自定义不同运行环境(开发、测试、生产)、自定义条件编译平台、以及动态修改manifest.json值讲解

文章目录 前言一、自定义条件编译平台是什么&#xff1f;二、新增自定义条件编译平台三、动态设置服务器请求地址四、动态修改manifest.json1.根目录新增文件 modifyManifest.js2.vue.config.js引入modifyManifest.js 总结示例代码 前言 企业项目开发流程上一般都要配置多个运…...

centos 显卡驱动安装(chatglm2大模型安装步骤一)

1.服务器配置 服务器系统:Centos7.9 x64 显卡:RTX3090 (24G) 2.安装环境 2.1 检查显卡驱动是否安装 输入命令:nvidia-smi(显示显卡信息) 如果有以下显示说明,已经有显卡驱动。否则需要重装。 2.2 下载显卡驱动 第一步:浏览器输入https://www.nvidia.cn/Downloa…...

05_属性描述符

05_属性描述符 文章目录 05_属性描述符一、属性描述符是什么&#xff1f;二、属性描述符①&#xff1a;查看属性描述②&#xff1a;设置属性描述符③&#xff1a;案例01.代码实现02.代码实现&#xff08;优化&#xff09; 一、属性描述符是什么&#xff1f; 属性描述符的结构 在…...

vue day2

1、指令修饰符&#xff1a;.指明一些指令后缀&#xff0c;不同后缀封装不同处理操作 按键修饰符&#xff1a;keyup.enter v-model修饰符&#xff1a; v-model.trim&#xff1a;去首位空格 v-model.number&#xff1a;转数字 事件修饰符&#xff1a; 阻止事件冒泡&#xff1…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...