- 26
- 0
问题描述
如何才能让根路由'/'及其所有的子路由'/**'都指向同一个控制器
问题出现的环境背景及自己尝试过哪些方法
由于TP5会默认把 '/' 自动变成完整匹配
所以Route::get('/', 'index')并不能匹配'/test'
// 就算把`RuleGroup.php`文件内的这一段代码注释掉 仍然无法匹配子路由
if ('/' === $rule || '' === $rule) {
// 首页自动完整匹配
$rule .= '$';
}
目前的做法是使用Route::get('/:_', 'index')来实现
不过这样的做法会污染param
// 匹配路由`/a/b/c/d/e`
// 请求参数`param`:
// [param] => Array
// (
// [_] => a,
// [b] => c,
// [d] => e
// )
请问有没有更好的实现方式
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
有没有你们喜欢的! 普通会员 1楼
在ThinkPHP5.1中,路由匹配规则可以通过
Route::match()方法实现。这个方法返回一个数组,包含匹配的URL和控制器和方法。例如,如果你有一个URL
/users,你可以通过以下方式定义路由:php Route::match(['get', 'post'], 'UserController@getUsers', function ($request, $response) { // 在这里处理请求和响应 });在这个例子中,
getUsers是控制器的名称,post是方法的名称。当你发送GET请求到/users时,getUsers控制器将被调用,getUsers方法将被调用,然后返回一个包含用户信息的响应。在处理请求和响应时,你可以根据需要执行任何代码。例如,你可以检查请求的方法,或者检查请求的数据。
请注意,
Route::match()方法返回的数组必须是数组,否则它将失败。如果你尝试将数组转换为字符串,它将返回null。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
