答案 0 :(得分:3)
输出在技术上是正确的,因为PHP 7.2现在很聪明,不再需要运行case语句。我在https://derickrethans.nl/php7.2-switch.html
写了关于这些优化的文章然而,这是不受欢迎的行为,因此Xdebug将这个“bug”修复为https://github.com/xdebug/xdebug/commit/0690bf83109228a67dfe14a9a312045435b7b774 - 这是Xdebug在GitHub上的代码的一部分,但尚未进入版本。它将成为Xdebug 2.6.0beta2。
答案 1 :(得分:0)
答案 2 :(得分:0)
这比XDebug更快。更多信息https://github.com/krakjoe/pcov。
XDebuyg将永远是最好的选择,因为它是社区和时间最多的选择。不好的是,与其他道路相比,它通常非常慢。不要忘记更新到最新版本;)。
选项1.使用常量代替魔术弦。例如:
class SectionTypes
{
public const APP = 'app';
public const SHARE = 'share';
}
/* ... */
case ($type) {
case SectionTypes::APP:
/* do something */
break;
}
选项2。使用串联。例如:
case ($type) {
case 'app'.'':
/* do something */
break;
}
当然,最后一个选项很丑陋,不建议使用,但是它可以快速为您提供帮助。