像C语言甚至C#(技术上没有预处理器)这样的语言允许你编写如下代码:
#DEFINE DEBUG ... string returnedStr = this.SomeFoo(); #if DEBUG Debug.WriteLine("returned string =" + returnedStr); #endif
这是我喜欢在我的代码中使用脚手架的形式,我想知道PHP是否有这样的东西.我确信我可以使用变量来模拟这个,但我想大多数情况下解释PHP的事实并不容易在执行时自动删除/删除调试代码(因为它不需要).
PHP没有这样的东西.但是你肯定可以快速鞭打一些东西(如果你想的话,也许可以用一个正则表达式解析它以后删除它).我会这样做:
define('DEBUG', true); ... if (DEBUG): $debug->writeLine("stuff"); endif;
当然,你必须编写自己的调试模块来处理所有这些.如果你想在正则表达式解析上让生活更轻松,也许你可以使用三元运算符:
$str = 'string'; DEBUG ? $debug->writeLine("stuff is ".$str) : null;
这将使删除调试行非常简单.