1-Laravel-Http路由

使用ST-LINK烧录stm32教程说明 使用ST-LINK烧录stm32 阅读详情
路由
  • 一次请求的完整实现过程

浏览器发出请求(发送到路由)===》路由解析该请求(根据请求找到相应的控制器)
===》控制器(controller)有两个任务

  • 先和数据模型(module)交易,就是数据库取数据,映射到模型之类的。
  • 再将数据或者经过逻辑处理的结果和显示层(view)交易。
基本路由

所有应用路由都定义在 App\Providers\RouteServiceProvider 类载入的 app/Http/routes.php 文件中。
如下(初始的Laravel项目中的),望代码生义啊,Route的静态方法get能接收一个URL参数(也就是’/’,根目录),还会有回调函数,回调函数返回了一个view(这种直接从路由返回view的应该不常见),就是resource下面的views下面的welcome.blade.php文件,这个文件就是测试页面的源代码页面。

Route::get('/', function () {
    return view('welcome');
});
  • 下面是一些有效路由
    • Route::get(uri,uri,callback);
    • Route::post(uri,uri,callback);
    • Route::put(uri,uri,callback);
    • Route::patch(uri,uri,callback);
    • Route::delete(uri,uri,callback);
    • Route::options(uri,uri,callback);
  • 还能一次匹配多个路由,match可以同时匹配get和post请求,而any则可以匹配所有的请求。
Route::match(['get', 'post'], '/', function () {
    //
});

Route::any('foo', function () {
    //
});
路由参数

(这部分Laraver学院的文档里讲的很好,我就直接copy了)
- 必选参数
有时我们需要在路由中捕获 URI 片段。比如,要从 URL 中捕获用户 ID,需要通过如下方式定义路由参数:

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

可以按需要在路由中定义多个路由参数:(注意到了吗?回调函数function里面传的参数名称不一定要和URL中的一致,顺序对应就OK啦)

Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) {
    //
});

路由参数总是通过花括号进行包裹,这些参数在路由被执行时会被传递到路由的闭包。

注意:路由参数不能包含 - 字符,需要的话可以使用 _ 替代。

  • 可选参数
    有时候可能需要指定可选的路由参数,这可以通过在参数名后加一个 ? 标记来实现,这种情况下需要给相应的变量指定默认值:(而且只能最后一个参数才可选)
Route::get('user/{name?}', function ($name = null) {
    return $name;
});

Route::get('user/{name?}', function ($name = 'John') {
    return $name;
});
  • 正则约束
    可以对传来的参数进行正则约束,这种功能还行吧,可能会经常用吧……使用方法很明显,就是加个where,这应该是get方法的返回对象的方法,然后用正则约束。
Route::get('user/{name}', function ($name) {
    //
})->where('name', '[A-Za-z]+');

Route::get('user/{id}', function ($id) {
    //
})->where('id', '[0-9]+');

Route::get('user/{id}/{name}', function ($id, $name) {
    //
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
命名路由

命名路由为生成 URL 或重定向提供了便利。实现也很简单,在定义路由时使用数组键 as 指定路由名称:

Route::get('user/profile', ['as' => 'profile', function () {
    //
}]);

此外,还可以为控制器动作指定路由名称:

Route::get('user/profile', [
    'as' => 'profile', 'uses' => 'UserController@showProfile'
]);

此外,除了在路由数组定义中指定路由名称外,还可以通过在路由定义之后使用 name 方法链的方式来实现:

Route::get('user/profile', 'UserController@showProfile')->name('profile');
分组路由

望码生义啊,group静态方法里面,第一个参数传一个数组,这是个关联数组,prefix属性是路由的(admin/user),namespace属性是Controller的前缀(如果不加的话就要写Admin\indexController@user)。还有个什么属性可以自己看看文档,写法就想下面这么写就行了。

Route::group(['prefix'=>'admin','namespace'=>'Admin'],function(){
    Route::any('user','indexController@user');
    Route::any('login','indexController@login');
});
HFSS实战项目——Ku波段微带发夹线滤波器 保姆级教程!!!看完必会,非常详细!!!Ku频段5阶切比雪夫微带线带通滤波器的仿真实例。首先介绍了滤波器的技术指标和基本理论知识,重点介绍了滤波器的耦合系数和外部品质因数。建立了谐振器的设计模型、耦合系数与谐振器间距的设计模型、外部品质因数与抽头位置的设计模型和滤波器整体电路的模型。详细介绍了谐振器设计模型的建立步骤。 阅读详情

相关推荐

基于ESP32-C3的便携式血氧仪硬件与算法实现

血氧饱和度(SpO₂)监测是生理参数无创检测的核心技术之一,其原理基于光电容积脉搏波(PPG)信号中红光与红外光吸收比值的动态变化。该技术依赖高精度模拟前端、稳定光学激励及实时数字信号处理能力,在消费级健康设备中面临功耗、体积与测量鲁棒性的多重约束。ESP32-C3凭借集成LEDC、12位ADC与低功耗双核架构,成为PPG终端的理想主控平台;结合定制化指夹式光学探头与比率法血氧算法,可实现非诊断级但趋势可靠的日常健康监测。本文围绕硬件电路设计、电源管理策略与嵌入式信号处理流程展开,覆盖从LED驱动、跨阻放大

weixin_29025501的博客 132

Linux系统: Laravel5.1 文档见解 - HTTP路由

由于新加入的公司要求使用Linux系统,所以在痛苦的前两天中适应了Linux(deepin)的系统之后,现在已经基本适应了这个系统了。现在自己的工作电脑搭载的是LAMP环境,公司要求新人需要学习Laravel 框架,并且由于之前的php的知识不够扎实,在学Laravel框架的同时也将W3C中的内容过了一遍,并且在上下班的路上将PHP权威指南看了一遍。可能由于PHP设计的目的就是用于解决问题,所以基...

yang52ya7的博客 423

从DIY到实战:手把手教你搭建一个媲美吉时利2450的nA级电流源表(附原理图与避坑指南)

本文详细解析如何从零打造nA级精密电流源,涵盖核心设计原理、PCB布局技巧、热电偶效应应对及校准验证体系。通过低成本替代方案和优化设计,实现媲美商用源表的性能,特别适合硬件爱好者和独立开发者。文章还提供原理图与避坑指南,助你轻松搭建高精度电流源系统。

weixin_42656416的博客 289

Laravel5.3使用学习笔记---路由

使用了laravel一段时间了,今天就开始对Laravel进行一个比较全面的学习吧。打开5.1的chm中文版,那就按照目录开始看路由吧,不过看了一遍后发现,文档似乎漏了很多东西,于是跑到官网再看一遍英文原版,网址如下: Laravel5.3官网手册路由部分: https://laravel.com/docs/5.3/routing一. 路由的基本使用一般我们写php代码,最基本的是要实现,URI-

Gavin_new的博客 4397

CoaXPress协议入门(1)---- CXP测试套件

CoaXPress (简称CXP)是指一种采用同轴线缆进行互联的相机数据传输标准,主要用于替代之前的Camera Link协议,常见于科学相机、工业相机、医学图像、航空防务等场景。CXP是一个非对称的高速点对点串行传输协议,主要用于传输视频和静态图像,线缆多使用单条或多条同轴电缆。CXP易于集成,可以获得灵活可靠的性能,通过使用标准的同轴线缆,比如RG59 和 RG6规格(推荐使用RG6),并且图像、控制通讯、触发、电源都可以使用同一条线缆。

素手挽剑 9505

Unity插件UniWebView实战:UGUI动态调整内嵌网页尺寸与交互优化

本文详细解析了如何在Unity游戏中使用UniWebView插件实现内嵌网页的动态尺寸适配与深度交互。核心在于利用Reference Rect Transform属性,将网页窗口精准绑定至UGUI控件,并随其动态调整。文章进一步探讨了通过消息系统与JavaScript执行实现Unity与网页的双向通信,并提供了加载优化、过渡动画及事件拦截等实用技巧,助力开发者打造无缝、流畅的游戏内网页体验。

earth的博客 275

Laravel 5.1 中文文档

原文链接:http://laravelacademy.org/laravel-docs-5_1 由Laravel学院提供的Laravel 5.1 中文文档,供学习参考用,如有纰漏,请斧正: 序言 发行版本说明升级指南贡献代码API文档 开始 安装及配置Laravel Homestead 基础 HTTP 路由HTTP 中间件HTTP 控制器HTTP 请求HTTP 响应视

sinat_30679781的博客 353

433M遥控器无线解码1527协议

433M遥控器无线解码1527协议,定时器轮询法

weixin_58595117的博客 1万+

Laravel 10.x新特性全解析

Laravel 10.x是2023年发布的主要版本,基于PHP 8.1+构建,带来多项改进。核心特性包括:要求PHP 8.1以支持枚举等新特性;新增Artisan命令简化开发流程;路由缓存和HTTP客户端优化;Eloquent ORM增强查询功能;测试工具集成Pest框架;引入Laravel Pennant包管理特性标志;以及性能和安全性的全面提升。这些改进使Laravel 10.x在开发效率、类型安全和现代PHP特性支持方面显著提升,适合需要高效开发的现代Web应用。

zopple的博客 404

DFT实训教程笔记2(bibili版本)- Scan synthesis practice

文章目录Scan synthesis practice 本博文是博主记录DFT实训教程的笔记版本,此笔记并没有对所有的知识进行记录,仅仅以自身的认知水平,来记录了一些部分笔记并加上了自己的理解。 Scan synthesis practice How to design scan clock structure? 假设一块chip里面有好几十个clock domain,如果每一个clock domain都用一个scan clock虽然会非常清晰,但是IO数目肯定不够用。 clock group: 1、no

ciscomonkey的博客 9082

模拟电路综合笔试题解析

本专栏预计更新60期,当前为第10期,文章约6000字,旨在帮助读者掌握模拟电路笔试的核心知识点与实战技巧。文章分为五个章节,涵盖基础理论、高频考点、大厂题目解析等内容。首先,文章详细解析了DC-DC与LDO的区别及选型依据,并通过真题分析帮助读者理解其应用场景。接着,文章深入探讨了运放电路设计、同步降压电路设计等高频考点,并结合实际案例提供解决方案。此外,文章还分享了特斯拉、华为、大疆等大厂的面试题及解析,帮助读者应对复杂电路设计挑战。最后,文章总结了模拟电路设计中的关键技巧与优化方法,为读者提供全面的笔

启芯硬件的博客 468

laravel url生成

1.

分享技术架构、运维、程序开发经验 161

802.11be 的“上帝视角”:深入解析 CSI 技术原理与实现

IEEE 802.11be标准下的CSI技术解析 摘要:本文深入解析了802.11be标准中的信道状态信息(CSI)技术。CSI作为无线通信的"高精度地图",通过显式反馈机制获取信道矩阵H,经SVD分解得到预编码矩阵V。802.11be在CSI反馈机制上实现重大改进:支持320MHz带宽、16空间流;引入灵活的子载波分组(Ng=4/16)、更高量化精度(最高9/7比特)、部分带宽反馈和触发式反馈。这些创新显著提升了MU-MIMO和波束成形性能,为Wi-Fi 7带来极速通信、精准感知和Me

1042484520@qq.com(邮箱) 209

laravel5.8路由使用name的好处

使用name的好处 辅助函数 route 可以用于为指定路由生成 URL。命名路由生成的 URL 不与路由上定义的 URL 相耦合。因此,就算路由的 URL 有任何更改,都不需要对 route 函数调用进行任何更改。例如,假设你的应用程序包含以下路由: Route::get(’/index/index’, function () { // })->name(‘index.index’); 要生成此路由的 URL,可以像这样使用辅助函数 route: echo route(‘index.index’);

小小博客 484

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

laravel php redirct 重定向

代码】laravelphpredirct重定向。

weixin_43292547的博客 2501

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

为什么Laravel路由能快速匹配URL?

维度关键点本质基于 Trie 树和预编译正则的分层查找系统核心结构前缀树 (Trie)、合并正则、方法隔离匹配流程方法过滤 -> 静态匹配 -> 动态匹配 -> 参数提取缓存机制序列化为数组,OpCache 内存驻留主要价值O(1)/O(log N) 查找,消除运行时解析开销PHP 隐喻公式终极心法Laravel 路由匹配的本质,是“预计算的胜利”。它不让运行时犹豫,而让部署时决定。它在结构中见秩序,在缓存中见极速。于前缀中见分流,于正则中见精准;

长风破浪会有时的博客 197

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

laravel 分页伪静态 自定义分页URL

laravel分页是这样的:http://127.0.0.1:8089/?page=1通过修改可以改成任何你想的URL,这里我们改成:http://127.0.0.1:8089/page/1。不用修改路由,我们从源码入手。查看完整原文文章...

cjs5202001的博客 2072

laravel框架Controller之Middleware

中间件有什么用 Laravel中间件提供一个方便的机制来过滤进入应用程序的HTTP请求 场景 有一个活动,在指定日期后开始,如果活动没开始只能访问宣传页面 新建中间件 注册中间件 使用中间件 中间件的前置和后置操作 ...

Cp847665268的博客 615

Laravel10.x新特性全解析

Laravel 10.x是2023年发布的重要版本,主要特性包括:要求PHP 8.1+以支持现代特性;新增Laravel Pennant功能标志包便于灰度发布;优化异常处理页面提升调试体验;增加exclude_if等验证规则;改进队列批处理功能;增强路由绑定灵活性;提供更强大的测试工具;同时移除了对PHP7等旧功能的支持。这些更新显著提升了开发效率、安全性和可维护性,建议开发者升级使用。

love245565986的专栏 377

Linux cgroup v1 内存控制器(Memory Resource Controller / memcg)深度解析:从 page_counter 设计到控制文件实战

内存资源控制器(Memory Resource Controller)是 Linux cgroup v1 中隔离与限制一组任务内存行为的基础设施:它以 cgroup 为边界对匿名页(RSS)、文件页缓存与交换缓存(swap cache)进行计费与回收,并提供硬上限、内存+交换联合上限、层级计费、软上限、OOM 控制与内存压力通知等能力。本文以 [Documentation/admin-guide/

gitblog_00774的博客 894

Laravel 1.x:PHP框架的原始魅力

Laravel 1.x是框架的初始版本(2011年发布),具有基础功能架构。核心特性包括:简单的闭包路由定义、轻量级Fluent查询构建器、原生PHP视图模板(Blade尚未引入)以及基于PSR-0的自动加载机制。配置管理采用数组式访问,提供基础Auth身份验证和文件式错误处理。文件结构为扁平化设计,缺少现代Laravel的关键功能如Artisan、Eloquent等,主要用于验证框架原型理念。该版本奠定了Laravel后续发展的基础架构雏形。

xxjj998a的博客 205

Laravel 7.x核心特性全解析

Laravel 7.x 核心更新摘要:1) 路由解析引擎优化使匹配速度提升2倍;2) 模型支持方法签名提示;3) 增强HTTP客户端支持并发请求与测试模拟;4) 新增optional()辅助函数处理空对象;5) Blade组件支持标签语法与自动属性注入;6) 内置CORS中间件简化跨域配置;7) 提供6个月错误修复+1年安全更新支持。升级需注意依赖兼容性,建议使用7.*版本约束。

jwn999的博客 486

Laravel5.1的控制器分组

Laravel5.1的控制器分组 默认的控制器时直接在app\Http\Controllers下,创建分组名字,路由配置使用:分组名\控制器名@方法名。 转载于:https://www.cnblogs.com/gyfluck/p/10021869.html...

161

PHP Laravel 5.2 HTTP基础路由介绍及示例

你可以使用命名空间下的方法来定义不同类型的 HTTP 请求路由。这些方法包括getpostputdeletepatch等。在 Laravel 5.2 中,HTTP 基础路由是非常强大的功能,它允许你轻松定义各种类型的路由,并处理不同的 HTTP 请求。通过使用路由参数、可选参数和路由组,你可以更好地组织和管理你的路由逻辑。

学亮编程手记 527

laravel获取路由参数和路由群组参数

假设我们设置了一个路由参数:/** * 定义路由参数名称分别为: param1,param2 */ Route::get('/{param1}/{param2}', 'TestController@index');现在我们访问 http://test.dev/1/2在 TestController 中:/** * 路由参数获取方法 * * @param Illuminate\Http\Reques...

u010785091的博客 1151

Laravel路由和控制器的绑定

路由和控制器的关系 路由文件地址在\app\Http\routes.php,我们来看两种不同的路由。 1 2 3 4 5 6 7 8 Route::get('/', function () {     return view('welcome'); }); Route::get('/hi', function () {     retur

王小川的博客 2510
上一篇: 4-Shiro框架-权限管理
下一篇: 2-Laravel-Http控制器
Suzuki Mirai
博客等级 码龄9年 17粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值