Laravel之路由请求方式、路由传参
1、路由请求方式____文件路径app->routes->web.php
//get请求方式
Route::get('user/show',function(){return '世间安得两全法,不负如来不负卿;万般皆是命,半点不由人';
});
//post请求方式Route::post('edit',function(){return '万般皆是命,半点不由人';
});
//多请求路由
Route::match(['get','post'],'user/register',function(){return '多请求路由register';
});//任意请求
Route::any('user/wall'function(){return '任意请求';
});
2、路由传参app->routes->web.php
//路由传参,可传多个参数
Route::get('user/{id}/{name}',function($id,$name){return '路由传参————'.$id.$name;
});
//路由可选参数
Route::get('page/{page?}',function($page=1){return 'page'.$page;
});
3、参数类型限制app->routes->web.php
//参数类型限制
Route::get('choice/{id}/{name}',function($id,$name){return 'choice参数类型限制'.$id.$name;
})->where(['id'=>'\d+','name'=>'[a-zA-Z]+']);
4、文件
1.2 配置虚拟主机
注意,在项目路径public下
修改虚拟主机配置文件,在apache添加如下代码:
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs/<project>/public"
ServerName ddd.com
</VirtualHost>
host文件 127.0.0.1 ddd.com
第2章 路由器
路由简介
1,简单的说就是将用户的请求转发给相应的程序去处理
2,作用建立url和程序之间的映射
3,请求类型get,put,post,patch,delete等
任何框架都离不开路由器,TP是通过地址栏规则生成,如:xxx.com/home/user/add;
2.1 路由器如何调用控制器
laravel的路由器与控制器的关系,需要明确的在/routes/web.php
文件中明确定义.
格式如下 :
基础路由
/*
当用 GET 方式访问 xx.com/yy 这个地址的时候用匿名函数去响应 .
*/
Route::get('/yy', function(){return '123';
});
/*
当用 POST 方式访问 xx.com/zz 这个地址时,用 匿名函数去响应 .
*/
Route::post('/zz', function(){return '123';
});
/*
当 GET 访问网站根目录 "/" 时,用第2个参数的匿名函数去响应 .
*/
Route::get('/', function () {return 'hello';
})
多请求路由
/*
不管是GET还是POST方法,访问 xx.com/user 时,都用 XxController 中的 method() 方法去响应 .
*/
Route::match(['get','post'] , '/user' , 'XxController@method')
/*
GET,POST,PUT,DELETE.. 任何方法访问 xx.com/test, 都用第2个参数中的匿名函数去响应 .
*/
Route::any('/test', function () {return 'Hello World';
});
注意: 如果同一个路由被写了2次
则以最后一次路由为准!
2.2路由器与传递参数
/*
下例是指 xx.com/user/123 这样的 URL,user 后面的值将会捕捉到,
并自动传递给控制器的方法或匿名函数
*/
Route::get('user/{id}', function ($id) {return 'User '.$id;
});
/*
下例是指 xx.com/user/{name}/{id} 这样的 URL,user 后的参数,
会被捕捉到 , 并自动传递给控制器的方法或匿名函数
*/
Route::get('user/{name}/{id}', function ($name, $id) {return 'user_'.$name.$id;
});
如果没有传递参数,则会报错;
2.3 传递可选参数
在路由 参数 的花括号最后 加上 ?(问号) 即可
Route::get('user/{name?}', function ($name = null) {return $name;
});
Route::get('user/{name?}', function ($name = 'John') {return $name;
});
2.4 参数限制
在 TP 中,自动验证写在 Model 里,不够灵活. laravel把参数限制写在方法或者路由中.
普通形式:
->where('要限制的参数名','限制规则(正则,不用斜线//)');
数组形式:
->where(['要限制的参数名1'=>'限制规则1(正则,不用斜线//)','要限制的参数名2'=>'限制规则2(正则,不用斜线//)']);
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]+']);
注意 : 路由参数不能包含中横线 "-",参数会被理解为变量名,所以不能有'-',下划线是可以滴;
Laravel之路由请求方式、路由传参相关推荐
- 前端get,post、pul、deletec请求方式相关传参总结
前端(axios封装)get,post.pul.deletec请求方式相关传参总结 1.get方式 数据全查 export function getList(data,url) {return req ...
- http请求方式及传参方式
http请求方式及传参方式 本文简单介绍一下http的几种请求方式以及集中传参方式的不同. 常见的几种请求方式 HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法. HTTP ...
- python excel token_python+excel接口自动化获取token并作为请求参数进行传参操作
1.登录接口登录后返回对应token封装: import json import requests from util.operation_json import OperationJson from ...
- Flutter开发之路由跳转与传参(七)
参考练习:https://book.flutterchina.club/chapter2/flutter_router.html 路由(Route)在移动开发中通常指页面(Page),这跟web开发中 ...
- vue中的路由跳转和传参
一:注意:在 Vue 实例中,你可以通过 $router 访问路由实例.因此你可以调用 this.$router.push("路由地址")来跳转到目标路由页面: 想要导航到不同的 ...
- 11.14 尚品汇 day01 脚手架,路由命名,路由跳转,传参,props传参,重写push,replace
less使用 npm i less npm i less-loader 安装easy less 1)要求 1.1:每一天老师书写代码务必三遍 1.2:node + webpack + VScode + ...
- MyBatis获取参数值的两种方式以及传参情况
MyBatis获取参数值的两种方式 MyBatis获取参数值的两种方式:${}和#{} 传参情况 演示环境 1.单个字面量类型的参数 2.多个字面量类型的参数 3.map集合类型的参数 4.实体类类型 ...
- 微信小程序开发:路由跳转以及传参的使用
前言 微信小程序开发中的大部分知识点和前端开发是一模一样的,就算具体的语法不一样,但是套路都是一样的,可以说微信小程序开发和前端开发使用的知识点基本一致.本篇博文就来分享一下在微信小程序开发中必用的知 ...
- 【uniapp小程序】路由跳转navigator传参封装
文章目录
最新文章
- C# winfrom 导出 Excel
- OCCI读写Oracle Spatial的SDO_Geometry
- android studio 的AVD Manager点击无响应解决办法
- mysql的本地id可以随便设置马_MySQL中的账号与权限管理
- Mysql中字段类型不一致导致索引无效
- Qt-调用dll动态链接库
- WPF 不遮挡任务栏最大化和全屏显示
- CodeCraft-21 and Codeforces Round #711 (Div. 2) D. Bananas in a Microwave 优化暴力
- 机器学习算法基础2-机器学习大致了解
- 完美数c语言程序_C中的完美数
- 【Flutter 问题系列第 7 篇】TextField 去掉下划线
- 目前常用的4种备份系统架构
- 比人工更智能更有趣的植物识别--形色
- 西门子精彩屏+精简屏+精智屏设置屏保功能的具体方法和步骤
- php发邮件附件,PHP使用PHPMailer发送邮件和附件的方法
- c++高级编程学习笔记4
- 如何在PPT中插入校徽等Logo并修改颜色(无需下载任何软件)
- 小米路由器显示网络未连接到服务器,小米路由器4不能上网了如何解决?小米路由器4无法上网的解决方法汇总介绍...
- 步进电机的使用方法和控制方式基本介绍
- 在月球上你会看到这些神奇景象:不可思议
热门文章
- Navicat Missing required library sqlite.dll,998
- python可视化工具:matplotlib+pyecharts使用详解
- 广州白云工商技师学院计算机工程,广州白云工商技师学院面积有多大
- 用Jenkins连接腾讯企业邮箱,在构建任务失败时给自己发邮件提醒
- 给女友的网页小惊喜--相册万花筒
- 健康老年人静息态EEG的功率和功能连接变化
- 大数据培训机构水有多深?
- 中南大学计算机学院的辅导员,我院田生伟院长一行访问中南大学计算机学院
- 意能通:一名博士CEO的人工智能创业之旅
- 计算机管理 没有适当的权限,电脑管家没有合适的权限打开是怎么回事?