[Laravel 5.7 - 新特性早知道] 请求对象对 ArrayAccess 的「点式语法」的支持

file

已合并如 5.7 的框架中,PR 请查看?PR#23536

在 5.7 之前,你可以向下面这样使用「点式语法」获取多级数组成员输入:

$request->input('foo.bar');
// 使用时也支持
$request->only('foo.bar');
$request->all('foo.bar');

如果你尝试使用 ArratyAccess $request['foo.bar'] 来达到同样目的的时候,就会失败了。

现在,因为 PR#23536 的合并,Laravel 的 $request 的 ArratyAccess 行为于 $request 接口行为保持一直,你可以像下面这样达到同样目的:

$request['foo.bar'];
// and of course
isset($request['foo.bar']);
本作品采用《CC 协议》,转载必须注明作者和本文链接
Seven 的代码太渣,欢迎关注我的新拓展包 medz/cors 解决 PHP 项目程序设置跨域需求。
本帖由 Summer 于 6年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

5.5还么用完呢 这就5.7了

6年前 评论
JaguarJack

@就好比 用lts就好

5年前 评论

我也碰到这个问题了,我还想呢,request()函数为啥不能像input方法那样,实现者给漏掉了吗

5年前 评论

翻译的时候能否附上原文链接。:sweat_smile:

5年前 评论
medz

@JokerLinly 🤔️可是这不是翻译,原文就是来自 PR

5年前 评论
游离不2

@起个名字真难 哈哈,前两天才更新了5.8

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
创始人 @ Odore Inc.
文章
33
粉丝
202
喜欢
532
收藏
198
排名:23
访问:24.7 万
私信
所有博文
社区赞助商