PHP有一个可以在代码中使用的DEBUG符号吗?

fue*_*sjr 4 php debugging

像C语言甚至C#(技术上没有预处理器)这样的语言允许你编写如下代码:

#DEFINE DEBUG
...

string returnedStr = this.SomeFoo();
#if DEBUG
    Debug.WriteLine("returned string =" + returnedStr);
#endif
Run Code Online (Sandbox Code Playgroud)

这是我喜欢在我的代码中使用脚手架的形式,我想知道PHP是否有这样的东西.我确信我可以使用变量来模拟这个,但我想大多数情况下解释PHP的事实并不容易在执行时自动删除/删除调试代码(因为它不需要).

Owe*_*wen 8

PHP没有这样的东西.但是你肯定可以快速鞭打一些东西(如果你想的话,也许可以用一个正则表达式解析它以后删除它).我会这样做:

define('DEBUG', true);
...
if (DEBUG):
  $debug->writeLine("stuff");
endif;
Run Code Online (Sandbox Code Playgroud)

当然,你必须编写自己的调试模块来处理所有这些.如果你想在正则表达式解析上让生活更轻松,也许你可以使用三元运算符:

$str = 'string';
DEBUG ? $debug->writeLine("stuff is ".$str) : null;
Run Code Online (Sandbox Code Playgroud)

这将使删除调试行非常简单.