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

Laravel框架02:路由与控制器

Laravel框架02:路由与控制器

  • 一、路由配置文件
  • 二、路由参数
  • 三、路由别名
  • 四、路由群组
  • 五、控制器概述
  • 六、控制器路由
  • 七、接收用户输入

一、路由配置文件

  • 以web网页路由文件为例:
    在这里插入图片描述
  • 默认根路由
    在这里插入图片描述
  • 路由定义格式Route::请求方式('请求的URL', 匿名函数或控制响应的方法)
    Route::get('/home', function () {return "HOME";
    });
    
  • 通过match可以实现路由响应多个HTTP请求。any实现一个路由响应所有HTTP请求。
    Route::match(['get', 'post'], '/match', function () {return "match实现一个路由响应多个HTTP请求";
    });Route::any('/any', function () {return "any实现一个路由响应所有HTTP请求";
    });
    

二、路由参数

  1. 必选参数

    • 必选参数的传递通过路由地址中的{参数名}的形式进行传递。
    Route::any('/must/{id}', function ($id) {echo "当前用户ID是{$id}";
    });
    
  2. 可选参数

    • 可选参数的传递通过路由地址中的{参数名?}的形式进行传递。
    Route::any('/optional/{id?}', function ($id = null) {echo "当前用户ID是{$id}";
    });
    
  3. 问号传参

    • 除了定义路由的方式传递路由参数,还可以通过?形式传递参数
    http://study.com/mark?id=12345Route::any('/mark', function () {echo "当前用户ID是{$_GET['id']}";
    });
    

三、路由别名

  • 在路由定义的时候,给路由起一个名字。

    Route::any('/mark', function () {echo "当前用户ID是{$_GET['id']}:<br>" . route('alias');
    })->name("alias");
    
  • 调用该路由:route("alias"),返回该路由的完整地址。
    在这里插入图片描述

  • 查看系统已经有的路由:php artisan route:list
    在这里插入图片描述

四、路由群组

  • 使用 group 对路由进行分组。
  • 使用 prefix 属性指定路由前缀。
  • 语法:Route::group(公共属性数组, 回调函数);
Route::group(['prefix' => 'admin'], function () {Route::get('test1', function () {return 'test1';});Route::get('test2', function () {return 'test2';});Route::get('test3', function () {return 'test3';});
});

在这里插入图片描述

五、控制器概述

  • 控制器文件夹位于:app/Http/Controllers
  • 控制器命名方式:大驼峰+Controller.php
  • 通过artisan命令行自动生成控制器php artisan make:controller 控制器名
    在这里插入图片描述

六、控制器路由

  • 控制器路由:即使用路由规则调用控制器下的方法。

  • 格式:Route::请求方法(路由表达式, 控制器类名@方法名)

    # 路由设定
    Route::get('/home/test/info', 'TestController@info');# 控制器
    class TestController extends Controller
    {public function info(){return phpinfo();}
    }
    
  • 创建分目录管理的控制器,只需要加上目录名称

    php .\artisan make:controller Admin/IndexController
    php .\artisan make:controller Home/IndexController
    

    在这里插入图片描述

# 路由设定
Route::get('/home/index/index', 'home\IndexController@index');
Route::get('/admin/index/index', 'Admin\IndexController@index');# 分目录管理控制器
class IndexController extends Controller
{// 测试Admin分组的Index方法public function index(){return "这是Admin分组下的index方法";}
}

七、接收用户输入

  • Facades:“门面”的思想。门面是介于一个类的实例化与没有实例化中间的一个状态。其实是类的一个接口实现。
  • 在Laravel中如果需要使用facades,可以在config/app.php中定义别名。
  • 在Laravel中友好输出函数:dd();
  • 接收用户输入的类:Illuminate\Http\Request。
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class TestController extends Controller
{public function index(Request $request){$request->all();$request->get('id');$request->only(['id', 'name']);}
}

相关文章:

Laravel框架02:路由与控制器

Laravel框架02&#xff1a;路由与控制器一、路由配置文件二、路由参数三、路由别名四、路由群组五、控制器概述六、控制器路由七、接收用户输入一、路由配置文件 以web网页路由文件为例&#xff1a; 默认根路由 路由定义格式Route::请求方式(请求的URL, 匿名函数或控制响应的方…...

【POJ 2418】Hardwood Species 题解(映射)

描述 阔叶树是一种植物群&#xff0c;具有宽阔的叶子&#xff0c;结出果实或坚果&#xff0c;通常在冬天休眠。 美国的温带气候造就了数百种阔叶树种的森林&#xff0c;这些树种具有某些生物特征。例如&#xff0c;虽然橡树、枫树和樱桃都是硬木树&#xff0c;但它们是不同的物…...

React组件之间的通信方式总结(下)

一、写一个时钟 用 react 写一个每秒都可以更新一次的时钟 import React from react import ReactDOM from react-domfunction tick() {let ele <h1>{ new Date().toLocaleTimeString() }</h1>// Objects are not valid as a React child (found: Sun Aug 04 20…...

【RabbitMQ笔记07】消息队列RabbitMQ七种模式之Publisher Confirms发布确认模式

这篇文章&#xff0c;主要接收消息队列RabbitMQ七种模式之Publisher Confirms发布确认模式。 目录 一、消息队列 1.1、发布确认模式 1.2、案例代码 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;编写生产者【消息确认--单条确认】 &#xff08;3&#xf…...

【华为OD机试模拟题】用 C++ 实现 - IPv4 地址转换成整数(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明IPv4 地址转换成整数题目输入输出示例一输入输出说明示例一输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,...

闭包与高阶函数

文中内容均来自于曾探《JavaScript设计模式与开发实践》的学习笔记。闭包作用域变量的作用域&#xff0c;就是指变量的有效范围。局部变量、全局变量。变量的搜索是从内到外而非从外到内的。变量的生命周期对于全局变量莱索&#xff0c;全局变量的生命周期是永久的&#xff0c;…...

人工智能轨道交通行业周刊-第35期(2023.2.20-2.26)

本期关键词&#xff1a;重庆智慧轨道、智能运维主机、标准轨距、地方铁路公报、景深、机器视觉应用 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通Rai…...

快慢指针判断链表是否有环

快慢指针判断链表是否有环 单链表有可能存在环&#xff0c;有些情况下要判断一个单链表是否有环。数组的有个快慢指针的方法&#xff0c;其实单链表和数组有相似的地方&#xff0c;可以使用快慢指针的方法。具体做法如下&#xff1a; 首先创建两个指针&#xff0c;它们初始时…...

《MongoDB入门教程》第26篇 聚合统计之$max/$min表达式

本文将会介绍两个 MongoDB 表达式&#xff0c;返回一组数据中最大值的 $max 表达式&#xff0c;以及返回一组数据中最小值的 $min 表达式。 $max 表达式 $max 表达式用于返回一组数据中的最大值&#xff0c;语法如下&#xff1a; { $max: <expression> }$max 表达式在…...

FPGA纯verilog解码SDI视频 纯逻辑资源实现 提供2套工程源码和技术支持

目录1、前言2、硬件电路解析SDI摄像头Gv8601a单端转差GTX解串SDI解码VGA时序恢复YUV转RGB图像输出FDMA图像缓存HDMI输出3、工程1详解&#xff1a;无缓存输出4、工程2详解&#xff1a;缓存3帧输出5、上板调试验证并演示6、福利&#xff1a;工程代码的获取1、前言 FPGA实现SDI视…...

JVM篇之垃圾回收

一.如何判断对象可以回收 1.引用计数法 只要一个对象被其他变量所引用&#xff0c;就让它的计数加1&#xff0c;被引用了两次就让它的计数变成2&#xff0c;当这个变量的计数变成0时&#xff0c;就可以被垃圾回收&#xff1b; 弊端&#xff1a;当出现如下图的情况&#xff0…...

尝试用程序计算Π(3.141592653......)

文章目录1. π\piπ2. 用微积分来计算π\piπ2.1 原理2.2 代码2.3 结果2.4 分析1. π\piπ π\piπ的重要性或者地位不用多说&#xff0c;有时候还是很好奇&#xff0c;精确地π\piπ值是怎么计算出来的。研究π\piπ的精确计算应该是很多数学家计算机科学家努力的方向&#xf…...

【异常检测三件套】系列3--时序异常检测综述

写在前面: 异常检测共包含3个内容,从多个方面剖析异常检测方法,本文为第三篇。过往内容请查看以下链接: 【异常检测三件套】系列1--14种异常检测算法https://blog.csdn.net/allein_STR/article/details/128114175?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%…...

关于SAP 错误日志解析

有时候启动或操作sap会出现故障&#xff0c;只是察看sap用户当前目录下的日志文件可能不得要领&#xff0c;此时有必要察看work目录下的一些trace. 以Linux系统为例&#xff0c;其他的也差不多。 instance说明 如下 DVEBMGS?? ABAP Central Instance D?? …...

java:自定义变量加载到系统变量后替换shell模版并执行shell

这里的需求前提是&#xff0c;在项目中进行某些操作前&#xff0c;需要在命令后对shell配置文件的进行修改&#xff08;如ip、port&#xff09;&#xff0c;这个对于用户是不友好的&#xff0c;需要改为用户页面输入ip、port&#xff0c;后台自动去操作修改配置&#xff1b;那么…...

Redis高级删除策略与数据淘汰

第二章&#xff1a;Redis高级 学习目标 目标1&#xff1a;能够说出redis中的数据删除策与略淘汰策略 目标2&#xff1a;能够说出主从复制的概念&#xff0c;工作流程以及场景问题及解决方案 目标3&#xff1a;能够说出哨兵的作用以及工作原理&#xff0c;以及如何启用哨兵 …...

社畜大学生的Python之pandas学习笔记,保姆入门级教学

接上期&#xff0c;上篇介绍了 NumPy&#xff0c;本篇介绍 pandas。 目录 pandas 入门pandas 的数据结构介绍基本功能汇总和计算描述统计处理缺失数据层次化索引 pandas 入门 Pandas 是基于 Numpy 构建的&#xff0c;让以 NumPy 为中心的应用变的更加简单。 Pandas是基于Numpy…...

20_FreeRTOS低功耗模式

目录 低功耗模式简介 STM32低功耗模式 Tickless模式详解 Tickless模式相关配置 实验源码 低功耗模式简介 很多应用场合对于功耗的要求很严格,比如可穿戴低功耗产品、物联网低功耗产品等。 一般MCU都有相应的低功耗模式,裸机开发时可以使用MCU的低功耗模式。 FreeRTOS也…...

Hive的使用方式

操作Hive可以在Shell命令行下操作&#xff0c;或者是使用JDBC代码的方式操作 针对命令行这种方式&#xff0c;其实还有两种使用 第一个是使用bin目录下的hive命令&#xff0c;这个是从hive一开始就支持的使用方式 后来又出现一个beeline命令&#xff0c;它是通过HiveServer2服…...

Flume三大核心组件

Flume的三大核心组件&#xff1a; Source&#xff1a;数据源 Channel&#xff1a;临时存储数据的管道 Sink&#xff1a;目的地 Source&#xff1a;数据源&#xff1a;通过source组件可以指定让Flume读取哪里的数据&#xff0c;然后将数据传递给后面的 channel Flume内置支持读…...

基于Claude的智能代码脚手架:提升AI编程协作效率的工程实践

1. 项目概述&#xff1a;一个为Claude设计的代码脚手架如果你和我一样&#xff0c;经常与Anthropic的Claude模型打交道&#xff0c;尤其是在代码生成、项目初始化这类场景&#xff0c;那你一定体会过那种“重复造轮子”的疲惫感。每次开启一个新项目&#xff0c;无论是简单的脚…...

【Linux 指南】文件系统系列(二):核心抽象层 —— 块 、分区 、inode 从原理到实操

上一篇我们吃透了磁盘的底层原理&#xff0c;搞懂了磁盘通过 CHS/LBA 寻址定位扇区&#xff0c;也知道扇区是磁盘硬件的最小读写单位&#xff08;512 字节&#xff09;。但随之而来的两个核心问题摆在眼前&#xff1a;一是逐个扇区读写磁盘效率极低&#xff0c;磁头的寻道和旋转…...

ElevenLabs Enterprise方案深度拆解:从API限流策略到GDPR语音数据主权管理的7层安全加固实践

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs Enterprise方案全景概览 ElevenLabs Enterprise 是面向中大型组织构建的语音合成与语音识别一体化平台&#xff0c;专为高并发、多租户、合规性敏感场景设计。其核心能力覆盖实时TTS流式输出…...

ZonyLrcToolsX:轻松获取完美歌词的跨平台解决方案

ZonyLrcToolsX&#xff1a;轻松获取完美歌词的跨平台解决方案 【免费下载链接】ZonyLrcToolsX ZonyLrcToolsX 是一个能够方便地下载歌词的小软件。 项目地址: https://gitcode.com/gh_mirrors/zo/ZonyLrcToolsX 你是否曾经为音乐播放器缺少歌词而烦恼&#xff1f;是否厌…...

实测MPU6050低功耗电流:从Sleep到Cycle模式,不同唤醒频率下功耗到底差多少?

MPU6050低功耗模式实测&#xff1a;从微安级电流到唤醒策略的硬件优化指南 当你的智能手环在手腕上安静沉睡时&#xff0c;MPU6050这颗运动传感器正在以微安级的电流维持着生命体征——这不是魔法&#xff0c;而是现代嵌入式设计中精妙的低功耗艺术。作为硬件工程师&#xff0c…...

Systemback不只是备份:手把手教你修复Ubuntu启动项(GRUB)和fstab文件

Systemback系统救援实战&#xff1a;从GRUB修复到fstab配置急救指南 当Ubuntu系统突然拒绝启动&#xff0c;屏幕上只剩下闪烁的光标或是令人心碎的"GRUB rescue>"提示符时&#xff0c;大多数用户的第一反应往往是重装系统。但你可能不知道&#xff0c;Systemback这…...

从“抄答案”到“会解题”:我是如何利用头歌实训平台,真正掌握Python数据分析的?

从“抄答案”到“会解题”&#xff1a;我的Python数据分析思维进阶之路 记得第一次打开头歌实训平台的Python数据分析题目时&#xff0c;我像大多数初学者一样&#xff0c;迫不及待地寻找"正确答案"。复制、粘贴、运行——看到绿色通过提示的瞬间&#xff0c;以为自己…...

基于SpringBoot的B2C生鲜电商平台毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Spring Boot与Vue框架的B2C生鲜电商平台以解决当前生鲜电商领域存在的核心问题包括供应链管理效率低下导致的商品损耗率居高不下用户端体…...

挖掘MCU硬件加速潜力:以R80515的Double DPTR和MDU为例,在Keil C51中开启性能外挂

挖掘MCU硬件加速潜力&#xff1a;R80515双DPTR与MDU在Keil C51中的实战优化 当你在Keil C51环境下为资源受限的8051架构编写代码时&#xff0c;是否曾为缓慢的数据搬运和复杂的数学运算而头疼&#xff1f;现代增强型8051内核如R80515通过硬件加速单元提供了突破性能瓶颈的可能…...

避开C2000开发第一个坑:TMS320F28069的InitSysCtrl()函数里,为什么ADC时钟要开一下又关?

TMS320F28069开发揭秘&#xff1a;ADC时钟瞬启瞬闭背后的硬件校准逻辑 在TMS320F28069的InitSysCtrl()初始化函数中&#xff0c;有一段看似矛盾的代码操作&#xff1a;先启用ADC时钟&#xff0c;调用(*Device_cal)()函数后立即关闭。这个"开关ADC时钟"的瞬态操作绝非…...