http中的嵌套参数是啥?
Posted
技术标签:
【中文标题】http中的嵌套参数是啥?【英文标题】:What are nested parameters in http?http中的嵌套参数是什么? 【发布时间】:2016-10-27 06:46:32 【问题描述】:在Laravel Docs on validation 中,他们谈到了“嵌套参数”:
如果您的 HTTP 请求包含“嵌套”参数,您可以使用“点”语法在验证规则中指定它们:
$this->validate($request, [ 'title' => 'required|unique:posts|max:255', 'author.name' => 'required', 'author.description' => 'required', ]);
这种嵌套的 html 会是什么样子?我四处搜索,除了表单嵌套之外什么也没找到。另外,"dot" syntax
,这是 Laravel 特有的吗?
【问题讨论】:
这没什么神奇的。只需使用name="author.name"
。 :-)
另外,访问变量的.
语法是Laravel的一个特性,用于访问数组值(如上)或访问文件/文件夹层次结构,如return view("folder.file")
他们提到它让我有点困惑,让我觉得这是一些特别的事情。有没有办法在 HTML 的表单中语义嵌套东西,bar cmets?它会使代码更具可读性,同时对渲染没有影响。
@TimLewis 是的,感谢您提及这一点。这实际上让我觉得这是一件特别的事情
@DaJF 伙计,别难过,这也让我大吃一惊,我开始搜索它们是什么,你的问题是完全正确的。我想看看 HTML 语法是什么样的,而我猜它要么是数组语法 要么只是名称“something.name”中的一个点,但 laravel doc 含糊不清,你永远不会知道,在某个时候,新版本的 HTTP 会引入新事物。
【参考方案1】:
Html 表单看起来没什么了
【讨论】:
【参考方案2】:点表示法是为了方便地访问数组元素,并使它们的选择器更加“流畅”。
验证author.name
相当于检查输入<input type="text" name="author[name]" />
的值。
这使得拥有多模型表单或对相关数据进行分组变得更好 =)。然后,您可以通过执行$request->request('author');
之类的操作来获取该事物的所有数据,这将为您提供使用author[*]
提交的所有值的集合/数组。 Laravel 也将它与它的配置访问器一起使用 - 所以 config.setting.parameter
相当于 config[setting][parameter]
基本上使处理数组数据更容易。
有关示例,请参阅 https://github.com/glopezdetorre/dot-notation-access!
【讨论】:
以上是关于http中的嵌套参数是啥?的主要内容,如果未能解决你的问题,请参考以下文章
从嵌套在 Firestore 文档中的集合中获取数据的最佳方法是啥?
使用 MongoDB 的 Rust 驱动程序访问嵌套结构中的数据的最佳方式是啥,所有这些都是可选的?