php – 正确使用??操作者

前端之家收集整理的这篇文章主要介绍了php – 正确使用??操作者前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的项目中,我有一个处理所有 AJAX POST请求的ajax.PHP.它获取命令,验证所有必需的参数是否存在并将其传递给相关的类.

我见过新的’??’运算符并已开始验证这样的POST参数,

$name = $_POST['name'] ?? die('{"result":0,"data":"name not provided"}');
$state = $_POST['state'] ?? die('{"result":0,"data":"state not provided"}');

我觉得哪个好看,

$name = isset($_POST['blah']) ? $_POST['blah'] : die('{"result":0,"data":"blah not provided"}');

我已经部署并确认它正在运行,但Intellij在第一次使用后对于无法访问的代码非常适合.我想知道我是否滥用语法并且可能被修复或者如果Intellij没有在球上.

我总是对不良做法产生偏执,所以想知道你对语法用法以及整个ajax.PHP的看法.有一个专门用于基本验证帖子参数的页面是不是很糟糕? (它不验证实际数据,只是它有数据).我也想知道我是否应该将ajax.PHP拆分成试图将其拆分的路线?你会考虑做类似的事吗?

foreach (['name','state'] AS $arg) {
  $$arg = $_POST[$arg] ?? die("{\"result\":0,\"data\":\"$arg not provided\"}");
}

然后可以返回已处理的值,或者如果丢失则抛出异常/ die,或者您希望每行都有一个参数?

这只是Intellij的一个小故障.我对PHPStorm 10也是一样的.你可以轻松地测试它,以证明你的代码按照你的预期运行,这是布丁中的证据,而不是某些IDE碰巧(错过)解析它的方式.

如果您觉得有帮助,也许可以通过JetBrains提高票价?

我将把你整个问题的第二部分留在 – 正如我在上面的评论中指出的那样 – 这是一个单独的问题,应该相应地提出.并且可能在Code Review结束.如果你确实在那里转移…确保在这里交叉ref 原文链接:https://www.f2er.com/php/134007.html

猜你在找的PHP相关文章