具有相似参数的路由上的路由参数模式

2023-12-04

我有一些使用几个 UUID 作为参数的路由:

Route::get('/foo/{uuid1}/{uuid2}', 'Controller@action');

我希望能够在将控制权传递给操作之前验证这些参数的格式是否正确:

Route::pattern('uuid1', '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$');

这很好用。然而,我真的不想多次重复该模式(在实际情况下,我对 8 个不同的 UUID 路由参数重复了 8 次)。

我不能这样做:

Route::get('/foo/{uuid}/{uuid}', 'Controller@action');

因为这会产生错误:

路由模式“/foo/{uuid}/{uuid}”不能多次引用变量名称“uuid”。

自从我发现以来,我可以将它们全部集中到一个函数调用中Route::patterns:

Route::patterns([
    'uuid1' => '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$',
    'uuid2' => '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$',
]);

但这仍然是重复的。有没有办法可以将多个模式键绑定到single正则表达式?

理想情况下,我想找到一种方法来避免这样的事情:

$pattern = 'uuid regex';
Route::patterns([
    'uuid1' => $pattern,
    'uuid2' => $pattern,
]);

没有内置的方法来处理这个问题,实际上我认为您找到的解决方案非常好。也许更优雅一点是这样的:

Route::patterns(array_fill_keys(['uuid1', 'uuid2'], '/uuid regex/'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有相似参数的路由上的路由参数模式 的相关文章

  • SQLSTATE[HY000] [2002] 资源暂时不可用 - mysql - innodb 和 pdo

    在我的错误日志中得到大量结果 如下所列 数据库中的所有表都是 innodb 并且就与这些表的任何交互而言 一切都是带有准备好的语句的 pdo 正如我所说 所有错误几乎与下面列出的错误相同 但发生在几个不同的页面上 无论页面如何 错误行始终指
  • 将字符串的第一个字母大写(前面带有特殊字符) - PHP

    我想将字符串大写 例如 hello 我希望我的函数返回 Hello 我尝试过使用 regex 和 preg match 但没有运气 这是我之前的问题 与此相关 preg match 正在匹配两个字符 而它应该只匹配一个字符 https st
  • Facebook 扩展权限

    更新2 好的 通过更改使其 有点 工作 loginUrl facebook gt getLoginUrl array canvas gt 1 fbconnect gt 0 req perms gt publish stream next g
  • “警告:mysql_query():提供的参数不是有效的 MySQL-Link” - 为什么?

    我的代码有什么问题吗 我不断收到此错误 Warning mysql query supplied argument is not a valid MySQL Link resource in functions php on line 4
  • Laravel 注册成功后如何重定向到上一页?

    现在redirectTo被设定为 home 我想知道如何重定向到上一页 我尝试使用 protected redirectTo URL previous 但我得到解析错误 期待 or 解决这个问题的最佳解决方案是什么 我想我需要重写 redi
  • 使用 PHP 分割逗号分隔名称

    我的名字格式为姓氏 名字 在我的数据库中 第一个和最后一个字段都有不同的字段 我想使用 PHP 读取逗号之前的所有内容作为姓氏 以及逗号之后的所有内容作为名字 实现这一目标的最佳方法是什么 list Lastname Firstname e
  • ASP.NET MVC 路由如何工作?

    我定义了以下路线 public static void RegisterRoutes RouteCollection routes routes IgnoreRoute resource axd pathInfo routes MapRou
  • Zend 框架会话丢失

    我有一个注册表单 当用户注册时 它会将他重定向到他的页面 在 Firefox 和 Chrome 中一切正常 但在 Internet Explorer 中则正常 看起来保存用户信息后 会话就关闭了 并且不会将用户重定向到他的页面 我该如何解决
  • phpenmod 显示其他 php 版本的路径

    我的 Ubuntu 机器上安装了 php 7 0 和 7 2 当我执行时php v 它告诉我我正在使用 php 7 2 在 Apache 上我还启用了 php 7 2 当我跑步时phpenmode zip 我明白了 WARNING Modu
  • json_decode 到自定义类

    是否可以将 json 字符串解码为 stdClass 以外的对象 不是自动的 但你可以按照老式的路线来做 data json decode json true class new Whatever foreach data as key g
  • CakePHP Unfilled 单选按钮在提交时更改为不需要的值

    我有这个表单元素 form gt input ChecklistResponseGovernmentInfo driversLicenseIsOnline array type gt radio empty gt true options
  • PHP、PDO 和 SQLSRV 对一个 INSERT 语句执行多次

    我已经在 MySQL 和 Apache 服务器上使用 PDO 和 PHP 一段时间了 我最近的任务是将企业的旧 Web 应用程序转换为新设置 旧设置是标准 Linux Web 堆栈 Apache PHP MySQL Filezilla 新设
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • 如何检测iPhone是否有视网膜显示屏?

    如何检测 iPhone 是否配备视网膜显示屏 有靠谱的办法吗 要么是纯 PHP 要么最好是 Zend Framework 方式来执行此操作 我通过这个弄清楚了 var retina window devicePixelRatio gt 1
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • 如何让php页面从html页面接收ajax post

    我有一个非常简单的表单 其中有一个名字输入字段 我捕获了表单数据 并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面 但是 我根本无法从 PHP 页面获得任何在服务器端捕获数据的响应 我不确定我做错了什么或缺少什么
  • 如何强制下载图片?

    我的页面上有一个动态生成的图像 如下所示 img src 我不想告诉我的用户右键单击图像并点击保存 而是想公开一个下载链接 单击该链接将提示下载图像 如何实现这一目标 最初我在 js 中尝试这样做 var path my image att
  • 将 Hbase 与 PHP 集成 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经安装了 Hbase 现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成 我尝试了 2 个库 第一个是我尝试与 th
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐

  • 将输出写入 Azure Functions 中的 Blob

    我正在学习使用 Azure 函数 所以 我可能听起来很愚蠢 我正在编写一个计时器触发函数 该函数每 1 分钟运行一次 添加两个数字并写入文件 这工作正常 因为我可以将输出写入本地服务器上的文件 第二步 我想将输出写入 blob 下面是代码
  • 如何使用 Swift Playground 打印到控制台?

    我一直在关注他们的新语言 swift 的 Apple Guide 但我不明白为什么右侧的栏只显示 Hello playground 而不是 Hello world 有人可以解释为什么println不是打印在右边吗 Playground no
  • 在sqlite中获取日期差异

    我想获得今天和到期日之间的日期差异 这是我实现的代码 但这并没有返回正确的输出 public String getDaysList Cursor cursor db query COUPON null null null null null
  • 理解 python id() 的唯一性

    Python 文档id 功能陈述如下 这是一个保证唯一且恒定的整数 该对象在其生命周期内 两个不重叠的对象 一生可能有相同的id value CPython实现细节 这是内存中对象的地址 虽然 下面的代码片段表明id的重复 由于我没有明确d
  • iPhone 的 CSS 媒体查询

    我有一个网站 该网站将使用媒体查询在桌面和 iPhone 上显示以提供不同的样式表 因此例如始终加载reset css 但如果在桌面上也加载desktop css 但如果在iPhone上 或者如果用户调整浏览器窗口的大小 改为加载 ipho
  • IE8 中 AJAX 的意外缓存结果

    我在 Internet Explorer 缓存 JQuery Ajax 请求结果时遇到严重问题 我的网页上有标题 每次用户导航到新页面时该标题都会更新 页面加载后我会这样做 get game getpuzzleinfo null funct
  • 从 ADUser DistinguishedName 获取 CN 值

    我有一个 PS 脚本 用于检查 Active Directory 中某些自定义用户的属性 属性之一是 经理 data Get ADUser user Properties Select Object DisplayName LockedOu
  • collections.sort方法仅用于List类型的集合吗?

    朋友们 我是 Java Collection 的新手 我想问一下Collections sort 方法仅用于 由集合使用List类型 我无法对以下代码进行排序 Collection collection new HashSet collec
  • Cosmos DB 查询 - 当某个属性不存在于所有文档中时使用 ORDER BY

    我们在为 Cosmos Document DB 编写查询时遇到问题 我们想要创建一个新的文档属性并在 ORDER BY 子句中使用它 例如 如果我们有一组文档 例如 Name Geoff Company Acme Name Bob Comp
  • 为什么字体较小时高度会增加?

    我有一个具有一定行高的块 我在其中插入内容 before伪元素 block before content text here 这效果很好 但是 如果我也给内容设置较小的字体大小 block before font size 6em cont
  • 为什么main在没有变量的情况下初始化堆栈帧

    为什么这段代码 include stdio h int main void puts Hello World 决定初始化堆栈帧 这是汇编代码 LC0 string Hello World main push rbp mov rbp rsp
  • core-plot 从轴标签中删除小数点

    有人可以告诉我如何从轴标签中删除小数点吗 我希望只显示 10 个 而不是 10 0 CPTXYAxis x axisSet xAxis NSNumberFormatter Xformatter NSNumberFormatter alloc
  • 单个列表到字典

    我有这个清单 single key1 value1 key2 value2 key3 value3 由此创建字典的最佳方法是什么 Thanks gt gt gt single key1 value1 key2 value2 key3 val
  • Android-列表视图、服务媒体播放器和布尔标志

    我目前有一个listview当您单击某个项目时 它会运行service with a mediaplayer 如果我点击另一个项目listview the service正在运行的应该停止并运行新的service 我正在使用一个boolea
  • set -e 在 bash 脚本中意味着什么?

    我正在研究这个内容preinst在从 Debian 存档 deb 文件中解压该包之前脚本执行的文件 该脚本有以下代码 bin bash set e Automatically added by dh installinit if 1 ins
  • 将 Unicode 转换为 python [重复]

    这个问题在这里已经有答案了 可能的重复 将 Unicode 转换为 UTF 8 Python 我是一个非常新的 Python 程序员 正在编写我的第一个脚本 该脚本从 plist 字符串中提取文本 然后对其执行一些操作 然后将其打包为 HT
  • 在树视图中搜索并突出显示/选择包含所搜索项目的行

    我正在使用 tkinter 和 treeview 为患者列表制作一个简单的 GUI 其中包含患者姓名和就诊日期 我有一个条目 用户应在其中输入患者姓名 想法是患者姓名是否位于列表 包含要突出显示 选定 的患者姓名的行 或多行 或者另一个选项
  • Mac OS X 10.6.8 上的 gcc-4.2.1 中不存在 strnlen - 如何定义它?

    我正在构建最新的跨平台 OS X 版本dcraw c我在 OS X 10 6 8 上执行此操作是为了具有 PPC 兼容性 现在我的问题是 strnlen 似乎在最新版本的程序中使用 但它在 10 6 8 上不存在 并且 gcc 给我这样的消
  • 模板类和类模板有什么区别?

    模板类和类模板有什么区别 这是许多人 包括维基百科上的通用编程页面 一些 C 教程以及此页面上的其他答案 的常见困惑点 就 C 而言 不存在 模板类 这样的东西 只有 类模板 该短语的解读方式是 类的模板 而不是 函数模板 函数模板 是 函
  • 具有相似参数的路由上的路由参数模式

    我有一些使用几个 UUID 作为参数的路由 Route get foo uuid1 uuid2 Controller action 我希望能够在将控制权传递给操作之前验证这些参数的格式是否正确 Route pattern uuid1 a f