Laravel同时接收路由参数和查询字符串中的参数
Laravel捕捉路由参数
Laravel允许在controller方法中捕捉路由里定义的参数,如下所示:
路由中定义参数:
Route::get('post/{id}', 'PostController@content');
控制器方法里捕捉路由参数:
class PostController extends Controller
{public function content($id){//}
}
Laravel同时捕获路由参数和查询字符串参数
那在控制器里怎么既能捕捉到路由里定义的参数又能接收到url查询字符串里的参数呢,比如请求链接是这样的http://example.com.cn/post/1?from=index
引用官网文档的解释
Dependency Injection & Route Parameters
If your controller method is also expecting input from a route parameter you should list your route parameters after your other dependencies.
就是说如果想要在控制器方法注入依赖时仍然能使用路由里的参数,你需要把路由里的参数列举在方法依赖的后面,比如:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostController extends Controller
{public function content(Request $request, $id){$from = $request->get('from')}
}
Laravel捕获多个可选参数
此外laravel路由中我们还可以定义多个可选参数:
Route::get('/article/{id}/{source?}/{medium?}/{campaign?}', 'ArticleController@detail')
在控制器方法中可选参数需要定义成默认参数:
public function detail(Request $request, $id, $source = '', $mediun = '', $campaign = ''){//}
这样定义完后路由里URL里可以传递0~3个可选参数,但是必须按照顺序:即想传第二个可选参数那么第一个可选参数必须有。
URL示例:
http://example.com.cn/article/1/wx/h5?param1=val1¶m2=val2
在这个例子中"wx"
会传递给变量$source
, "h5"
会传递给变量$medium
Laravel同时接收路由参数和查询字符串中的参数相关推荐
- 字符串url获取参数_如何从URL查询字符串获取示例参数或将其附加到URL查询字符串(示例)?...
字符串url获取参数 让我们剖析几个简单的用例,并查看视图参数的工作原理(视图参数名称不是强制性的,以匹配通过URL查询字符串传递的请求参数,但在本文中,我们将重点讨论这种情况): 情况1 在inde ...
- 查询字符串中字母出现的个数
/*查询字符串中字母出现的个数*/ string str = " Welcom Hello World"; Dictionary&l ...
- 查询字符串中不含重复的最长子串
/*** 查询字符串中不含重复的最长子串* 思路:* 1.从大到小获取字符串子串.* 2.遍历每个子串中是否有重复.* 3.查询到符合子串即可返回.*/ public class Demo2_16_0 ...
- 面试题:查询字符串中出现次数最多的字符以及出现次数
查询字符串中出现次数最多的字符以及出现次数 最优解: // 查询字符串出现最多的次数var randomStr = "sssfgtdaddddddddadadadadadddddfssddf ...
- 查询字符串中连续出现的字符
根据用户需求需要查询字符串中连续出现的字符 如'mn,asdfs,opq,dfasf,abc,asdlfj,defg' 'DF,RST',要求找出两个字符串中连续出现的字符 这里两个字符串数据相当于表 ...
- 寻找热门查询,300万个查询字符串中统计最热门的10个查询
寻找热门查询,300万个查询字符串中统计最热门的10个查询 #include #include #include struct QueryInfo{ string s; int times; Quer ...
- matlab 将图形另存时,在文件名字符串中添加参数,总是保存出错,无效文件名
将图形另存时,在文件名字符串中添加参数,总是保存出错,解决方式如下: 注意:我尝试过 string(1) char(1) 等都不可以,提示无效文件名. filename = ['Point cloud ...
- 获取SQL命令字符串中的参数名列表
1//清除命令字符串中的所有字符串 2string commandTextNoString = Regex.Replace(command.CommandText, @"['][\S]*[' ...
- ajax 参数data问题 data中的 参数名 参数值为string 提交到后台后,会自动转换参数名相同的 类型 和 js字符串拼接...
latlng "14.6005238,100.43635419999998" Cusid "accb5c1b-6aef-4f3b-a4eb-d60ea1ca5f54&qu ...
最新文章
- php tp3 操作绑定到类,快速入门 17:操作绑定到类
- java保留两位小数
- Git常用命令总结(超实用)
- 相当于零负担的延时程序(转)
- log4j2 mybatis 显示 sql 和 结果集
- centos下编译安装curl拓展
- 20200216_re数据处理
- 统计每小时数据的处理
- 开源中国 OsChina Android 客户端源码分析(12)清理缓存
- 1.Kettle下载与安装
- 串口通信工具android,串口调试工具手机版
- file_contexts 踩坑
- 什么是大数据与智能数据?什么是惯性测量单元与GNSS?
- 前端几种本地缓存机制
- [0CTF 2016]piapiapia 1
- maven集成docker插件进行打包镜像并推送私服
- 20145212 罗天晨 信息搜集与漏洞扫描
- 司铭宇老师:新任销售经理新任销售主管培训之角色认知
- 给拯救者Y7000换个固态
- 企鹅号如何度过新手期,视频运营注意要点,需要几天度过
热门文章
- 当快递员也学会了“跑路”,消费者如何捍卫自己的权益?
- NVMe闪存存储系统设计挑战
- Mysql 获取年级每个班前十学生的信息
- Velocity 模板引擎介绍
- tomcat安装成功页面翻译
- 【uTenux实验】写在开始实验之前
- REDO LOG大小引起的Oracle数据库性能下降
- [Python教程] 一只乌龟其实也很酷 (1、动起来)
- IO is frozen on database xxx, No user action is required
- Became Jane(成为简.奥斯丁)