您好,匿名用户

tp5路由判断的问题

0 投票

网站的链接类似这样 xxx.com/wuhan xxx.com/beijing xxx.com/hangzhou
有200多个城市,路由Route::get(':city$','index/index')->pattern(['city' => '[a-z\/]+'])
然后再控制器里判断参数是不是城市

        $city=Request::param('city');

        $citys=[所有城市数组];
        
        if(array_key_exists($city,$citys)){
        
           ////todo
        }

这样设置好了路由 就相当于把域名后面的数据都当作city参数了,导致其它控制器必须得一个一个写路由了,请问有没有什么好办法在路由器里判断呢

用户头像 提问 2019年 5月17日 @ Zed 中士 (1,270 威望)
分享到:

1个回答

0 投票
 
最佳答案

放到路由定义的最下面,当其他路由不匹配时再来匹配此路由。

如果你的其他路由都是隐式路由,那就需要在 中间件 里面处理转发。

用户头像 回复 2019年 5月17日 @ Karma 中士 (1,219 威望)
选中 2019年 5月12日 @Zed
提一个问题:

相关问题

0 投票
1 回复 69 阅读
用户头像 提问 2019年 5月24日 @ Libra 下士 (821 威望)
0 投票
1 回复 227 阅读
0 投票
1 回复 365 阅读
用户头像 提问 2017年 5月27日 @ Nasus 中士 (1,324 威望)
0 投票
0 回复 31 阅读
用户头像 提问 2017年 2月12日 @ Shen 中士 (1,403 威望)
0 投票
1 回复 306 阅读
用户头像 提问 2017年 5月29日 @ Shyvana 中士 (1,159 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...