在使用带有2个可选参数的路线时,

Route::get('/abc-{abc_id?}/xyz-{xyz_id?}', function($abc_id=0, $xyz_id=0)

{

return "\n hello ... World";

});

要求

/abc-1/xyz-15 - Hello World

/abc-1/xyz - Hello World

但对于

/abc-/xyz-15 - 404

/abc/xyz-15 - 404

为什么第一个可选参数无法正常工作?是否有其他解决方案?

请注意,两个参数都在url中,而不是作为get属性

解决方法:

第一个可选参数之后的所有内容都必须是可选的.如果在可选参数之后需要路由的一部分,则该参数变为必需.

在您的情况下,由于路由的/ xyz-部分是必需的,并且位于第一个可选参数之后,因此该第一个可选参数成为必需.

一种选择是将id前缀作为参数的一部分,并使用模式匹配来实施路由格式.然后,您需要从参数值中解析出实际的ID.

Route::get('/{abc_id?}/{xyz_id?}', function($abc_id = 0, $xyz_id = 0) {

$abc_id = substr($abc_id, 4) ?: 0;

$xyz_id = substr($xyz_id, 4) ?: 0;

return "\n hello ... World";

})->where([

'abc_id' => 'abc(-[^/]*)?',

'xyz_id' => 'xyz(-[^/]*)?'

]);

标签:laravel-routing,laravel,laravel-5,php,routing

来源: https://codeday.me/bug/20191028/1951299.html

php laravel用的多不,php-Laravel多个可选参数不起作用相关推荐

  1. laravel api_如何在现有的Laravel应用中获取即时GraphQL API

    laravel api by Karthikeya Viswanath 通过Karthikeya Viswanath 如何在现有的Laravel应用中获取即时GraphQL API (How to g ...

  2. Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接

    Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接: 推荐给你高品质的实战课程 https://laravel-china.org/courses?rf=15818 ...

  3. Laravel框架01:composer和Laravel简介

    Laravel框架01:composer和Laravel简介 一.Composer介绍 二.创建Laravel项目 三.Laravel目录结构 四.Laravel启动方式 一.Composer介绍 c ...

  4. php laravel 加载css,Laravel无法加载css文件(Laravel can't load css file)

    Laravel无法加载css文件(Laravel can't load css file) 我无法在Laravel项目中加载css文件. /public/css/style.css确实存在IDE确认, ...

  5. PHP laravel 加模块,php – 如何在Laravel 5中构建模块化应用程序?

    我想在模块中划分我的应用程序.例如,将有一个"核心"模块,其中包含基本登录功能,应用程序布局/格式化(CSS等),用户管理和日记. 稍后我可以创建其他模块,如联系人管理器,可以轻松 ...

  6. ios请求php接口失败,laravel,php_iOS调用Laravel接口返回错误信息,laravel,php,ios - phpStudy...

    iOS调用Laravel接口返回错误信息 iOS端代码如下: AFHTTPRequestOperationManager *manage = [[AFHTTPRequestOperationManag ...

  7. laravel mysql视图_php-动态更新Laravel视图

    我正在通过JS从API加载数据,将数据发送到Laravel控制器并将其保存到数据库中.加载所有Ajax之后,我想在master.blade的子视图/部分中显示数据-可以在页面加载完成后动态呈现视图,- ...

  8. laravel 集成采集_新版2020 Laravel采集网站程序

    环境:php5.6 数据库:mysql5.5 集成环境软件:护卫神apache 这套程序是520.ag 的网站 很早的程序了是去年还是前年 应该是前年 免费采集网站  但是经常挂 其实他网站挂和服务器 ...

  9. laravel 模型里自定义属性_关于Laravel 7 的简单隐式路由模型绑定

    Laravel 的下一个主要发行版本 ,你可以直接在路由定义中自定义隐式路由模型绑定: Route::get('/posts/{post:slug}', function (Post $post) { ...

最新文章

  1. 我的KT库之-----扩展方法
  2. 机器学习笔记:(时间序列中的线性回归)如何选择预测变量
  3. 树莓派vi编辑文件时退格键和方向键无法正常使用的问题
  4. 实用代码---取得当前的年月日,当前的时分秒获得,周几和星期几获得
  5. [codevs1105][COJ0183][NOIP2005]过河
  6. 计算机用手机的网络,电脑做热点让手机上网_电脑开热点给手机用
  7. 支付宝下调网银贷款利率 未来持续3年将节省500亿
  8. Head first 第一章
  9. Monkey 命令 基本参数介绍
  10. 什么是运放的虚短和虚断
  11. 教师测评系统php,校无忧教师评价系统 v2.6
  12. BIOS锁定纯UEFI启动的解锁办法
  13. Docker加速器配置
  14. FPGA和USB3.0通信-UVC摄像机
  15. Windows与虚拟机文件夹共享的设置方法
  16. c#-winform自定义窗体皮肤(无边框皮肤)
  17. 小象学院数据分析笔记:绘制常见的图形
  18. python三张照片画面拼接
  19. 表情包,头像,壁纸小程序达人入驻教程
  20. 企业招聘UI设计常见面试题分享

热门文章

  1. 知识图:从图和数据库中获取知识
  2. 基于ARMv8的固件系统体系结构
  3. linux7怎样搭建zabbix,Centos7.0 搭建Zabbix环境
  4. ndk 路径修改 超简单的方法
  5. 微信小程序获取text的值与获取input的输入的值
  6. 【vue】vue-znly
  7. 吴恩达Drive.ai因经营困难“卖身”苹果
  8. 使用MS VS的命令来编译C++程序
  9. 【动态规划】Part1
  10. 详解BLE 空中包格式—兼BLE Link layer协议解析