【发布时间】:2019-06-21 08:00:05
【问题描述】:
我从 phpcs 收到这条消息。我的代码是:
$userdata["expirydate"] = date("Y-m-d H:i:s", mktime(date("H"), date(
"i"), date("s"), date("m"), date("d") - 1, date("y")));
【问题讨论】:
标签: phpcs php-cs-fixer
我从 phpcs 收到这条消息。我的代码是:
$userdata["expirydate"] = date("Y-m-d H:i:s", mktime(date("H"), date(
"i"), date("s"), date("m"), date("d") - 1, date("y")));
【问题讨论】:
标签: phpcs php-cs-fixer
您的date("i") 函数调用跨越多行。发生这种情况时,该规则将强制右括号单独在一行中。
如果您想遵守该规则,您可以通过多种方式重新格式化您的代码。
您可以使用 PHPCS 差异报告来查看 PHPCS 希望您如何格式化它。在这种情况下,使用--report=diff 显示:
--- temp.php
+++ PHP_CodeSniffer
@@ -1,3 +1,4 @@
<?php
$userdata["expirydate"] = date("Y-m-d H:i:s", mktime(date("H"), date(
- "i"), date("s"), date("m"), date("d") - 1, date("y")));
+ "i"
+), date("s"), date("m"), date("d") - 1, date("y")));
这意味着 PHPCS 认为你能做的最小的改变就是这样写你的代码:
$userdata["expirydate"] = date("Y-m-d H:i:s", mktime(date("H"), date(
"i"
), date("s"), date("m"), date("d") - 1, date("y")));
这是有效的,但不是很好。
您可以将所有内容放在一条长线上,这仍然有效:
$userdata["expirydate"] = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 1, date("y")));
您可以拆分主要的 date() 调用以使其有效并缩短行长:
$userdata["expirydate"] = date(
"Y-m-d H:i:s",
mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 1, date("y"))
);
或者您甚至可以将每个参数都放在一个新行上:
$userdata["expirydate"] = date(
"Y-m-d H:i:s",
mktime(
date("H"),
date("i"),
date("s"),
date("m"),
date("d") - 1,
date("y")
)
);
这实际上取决于您认为哪个代码块更具可读性,以及哪个代码块最适合您现有的编码标准。
【讨论】: