第七课 路由之路由注册

1 路由注册

定义/概念:

例子:

(1)动态方法

//Route::get(‘a/:id/:name/‘,‘admin/admin/index‘);
//Route::get(‘test‘,‘index/index/index‘);
//Route::get(‘hello‘, ‘index/hello‘);
Route::get(‘test/:id/:name‘,‘index/index/index‘);
//Route::get(‘test/:name‘,‘admin/admin/index‘);
//Route::rule(‘hello/:name‘,‘index/hello‘,‘get‘,[‘ext‘ => ‘html‘],[‘name‘ => ‘\w+‘]);

(2)配置数组(配置文件方式):

return [
‘info/:name‘ => [‘admin/admin/getUserInfo‘,[‘method‘ =>‘post‘,‘ext‘ => ‘html‘],[‘name‘ => ‘\w+‘]],
‘test‘ => [‘index/index/index‘,[‘method‘ =>‘post‘,‘ext‘ => ‘html‘]],
‘test/:name‘=> [‘admin/admin/index‘,[‘method‘ =>‘post‘,‘ext‘ => ‘html‘],[‘name‘ => ‘\w+‘]]
];

1.1动态方法

路由定义采用 \think\Route 类的 rule 方法注册,通常是在应用的路由配置文件

application/route.php 进行注册,Route 类文件位置如下图:

动态方法格式如下:

回到route/route.php中

设置请求的要求,改一下路由规则,同时修改index/demo中的方法

这里我们使用

http://localhost/tp5.1/public/index.php/demo/1  访问会出错

加后缀.html 路由中规定的后缀则可以访问

当请求的参数为非数字时就会出错

通过在route.php中配置的

Route::rule(‘demo/:name‘, ‘index/index/demo‘, ‘GET‘, [‘ext‘ => ‘html‘], [‘name‘ => ‘\d‘]);

就是实现了对demo这个方法的控制

除了使用 Route::rule()创建路由外也可以用 get(),post()等创建路由。以demo()这个 方法测试

post|get(‘路由规则’ , ‘路由地址’ , ‘路由参数’ , ‘变量规则’);

当我们使用get的时候 就会发现post请求是不通过,使用get(),post()就是限制请求的方式。

Get请求

Route类中的其他方法

Rule() 基本路由注册

Any() 任意请求路由注册

Get() GET请求路由注册

Post() POST请求路由注册

Put() PUT请求路由注册

Patch() PATCH请求路由注册

Delete() DELETE请求路由注册

Alias() 别名路由注册

Group() 路由分组注册

Controller() 控制器方法路由注册

Resource() 资源路由注册

Pattern() 全局路由变量规则注册

1.2配置数组(配置文件方式)

语法规则:

return[

‘路由规则’  =>  ‘路由地址’,

‘路由规则’ => [‘路由地址’  ,[路由参数]  ,[变量规则]]

]

回到route/route.php中

同样这样设置后 info的访问的方式就必须与之前动态注册demo例子一样

1.3路由表达式

常用路由表达式实例:

1.4

1.5 请求类型

|序号|请求类型|用途|描述

| 1 | GET | 从服务器端获取数据 | 仅查询,不修改,类似:SELECT操作

| 2 | POST | 在服务器端创建数据 | 提交并创建新信息,类似:INSERT操作

| 3 | PUT | 改变服务器端数据 | 仅修改不创建,类似:UPDATE操作

| 4 | DELETE | 删除服务器端资源 | 根据条件删除数据,类似:DELETE

注:***尽管可以在Route::rule()方法中指定请求类型:

Route::rule(‘demo/:name,‘index/index/demo‘,‘GET‘);

但系统还是各种请求类型,定义了快捷方法(静态),详见下表:

原文地址:https://www.cnblogs.com/studyandstudy/p/10354348.html

时间: 2024-08-29 15:10:52

第七课 路由之路由注册的相关文章

Asp.Net Web API 2第六课——Web API路由和动作选择

Asp.Net Web API 导航 Asp.Net Web API第一课——入门http://www.cnblogs.com/aehyok/p/3432158.html Asp.Net Web API第二课——CRUD操作http://www.cnblogs.com/aehyok/p/3434578.html Asp.Net Web API第三课——.NET客户端调用Web API http://www.cnblogs.com/aehyok/p/3439698.html Asp.Net Web

Packet Tracer 5.0实验(七) 路由器单臂路由配置

Packet Tracer 5.0实验(七) 路由器单臂路由配置 一.实验目标 掌握单臂路由配置方法: 通过单臂路由实现不同VLAN间互相通信: 二.实验背景 某企业有两个主要部门:技术部和销售部,分处于不同的办公室,为了安全和便于管理,对两个 部门的主机进行了VLAN的划分,技术部和销售部分处于不同的VLAN.现由于业务的需求,需要销售部和技术部的主机能够相互访问,获得相应的资源,两个 部门的交换机通过一台路由器进行了连接. 三.技术原理 单臂路由:是为实现VLAN间通信的三层网络设备路由器,

[译]Quartz.NET 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器

第七课:触发监听器和作业任务监听器 监听器是在调度器中基于事件机制执行操作的对象.你大概可以猜到,触发监听器接收响应跟触发器有关的事件,作业任务监听器接收响应跟作业任务有关的事件. 跟触发器有关的事件包括:触发器被触发,触发器触发失败(在触发器课程中讨论过),以及触发器触发完成(触发器完成后作业任务开始运行). 1 public interface ITriggerListener 2 { 3 string Name { get; } 4 5 void TriggerFired(ITrigger

vue路由获取路由参数

vue路由设置路由参数有2种方式: 1.通过query配置: <router-link :to="{ name:'login',query:{id:1} }">登录</router-link> 通过query配置的路径显示如下: 2.通过params配置: <router-link :to="{ name:'register',params:{'name':'San'} }">注册</router-link> 通过qu

第七课 进程通信

unix_c_07.txt================第七课 进程通信================一.基本概念------------1. 何为进程间通信~~~~~~~~~~~~~~~~~进程间通信(Interprocess Communication, IPC)是指两个,或多个进程之间进行数据交换的过程.2. 进程间通信分类~~~~~~~~~~~~~~~~~1) 简单进程间通信:命令行参数.环境变量.信号.文件.2) 传统进程间通信:管道(fifo/pipe).3) XSI进程间通信:

BeagleBone Black板第七课:GPIO编程控制

BBB板第七课:GPIO编程控制 在一上课我们通过IO函数做了简单的GPIO端口输出高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过完整的C++程序,实现第四课Shell脚本的全部功能,实现两个LED指示灯的交替闪亮. 直接通过进入功能程序 1.实现echo 44 > export 打开端口功能 上一课简单测试中,通过手工在BBB板终端模式下打开gpio44端口可通过以下程序实现: #include <stdio.h> #define GPIO_DIR "/sy

第七课 对前面内容的总结

最近忙些,现在抽出个时间总结一下前面所讲的内容. 对于struts1框架的使用,个人认为不仅仅从细节方面去掌握,需要从整体把握,理解这个框架的意思,细节的东西查查资料一般都能解决,所以真个框架的理解很重要.这个同样适用于其他技术的学习,即整体把握再到细节实现,语言Java,php或是其他的,技术原理,框架上都差不多,主要的区别在于语法使用上,所以精通一门语言是十分必要的,这对于以后的工作或是学习都是非常有帮助的.一些大神经常说的话,理解和掌握思想就行,不必拘泥于细节的东西.当然啦,如果你是一个死

Spark3000门徒第七课Spark运行原理及RDD解密总结

今晚听了王家林老师的第七课Spark运行原理及RDD解密,课后作业是:spark基本原理,我的总结如下: 1 spark是分布式 基于内存 特别适合于迭代计算的计算框架 2 mapReduce就两个阶段map和reduce,而spark是不断地迭代计算,更加灵活更加强大,容易构造复杂算法. 3 spark不能取代hive,hive做数据仓库存储,spark sql只是取代hive的计算引擎 4 spark中间数据可以在内存也可以在磁盘 5 partition是一个数据集合 6 注意:初学者执行多

【C++探索之旅】第一部分第七课:函数效应,分而治之

内容简介 1.第一部分第七课:函数效应,分而治之 2.第一部分第八课预告:传值引用,文件源头 函数效应,分而治之 上一课<[C++探索之旅]第一部分第六课:控制流程,随心所至>中,我们学习了条件语句和循环语句. 这两种语句也算是算法的核心了.在更早的课程中,我们学习了变量.这些都是所有编程语言的必备元素. 这一课我们又要学习一个几乎所有编程语言都有的极重要元素: 函数. C++的所有程序都或多或少用到函数,到目前为止,你其实也已经用了好多次了,不过你可能只缘身在此山中,还云深不知处. 函数的功