【发布时间】:2012-05-01 12:09:41
【问题描述】:
我对编程很陌生,当我开发我的程序时,我使用一个简单的策略来调试它:我编写程序以在运行重要语句时打印调试消息,例如
function foo1($number)
{
//foo_print("I am function foo1({$number}). <br/>");
//foo_print("I am going to increase 'count' by {$number}. <br/>");
$GLOBALS["count"] = $GLOBALS["count'] + $number;
//foo_print("Now 'count' = {$GLOBALS["count"]}, I finished my task, BYE BYE. <br/>");
}
function isFoo($number)
{
//foo_print("I am function isFoo({$number}). <br/>");
//foo_print("I am checking if the number < 3 or not, if so, it is Foo, if not, it is not Foo. <br/>");
if($number <= 3)
{
//foo_print("Found that number = {$number} <= 3, I return true, BYE BYE. <br/>");
return true;
}
//foo_print("Found that number = {$number} > 3, I return false, BYE BYE. <br/>");
return false;
}
我称它们为调试消息,但如您所见,它们实际上是描述程序在每一行上做什么的彻底的 cmets。我只是编写函数 foo_print() 在调试程序时将它们打印出来。并在实际使用时将它们注释掉。
在实际运行模式和调试模式之间切换时,我没有逐行插入和删除注释符号'//',而是使用函数foo_print来完成工作:它可以设置为打开或关闭.
define(FOO_PRINT, 1)
function foo_print($message)
{
if(FOO_PRINT) print $message;
// if FOO_PRINT == 0 then do nothing.
}
但是我觉得这个方法无效,每次打印消息前都要检查FOO_PRINT。
我的问题是以下一个或两个
当我不想使用 foo_print() 函数时,我可以做些什么来告诉 php 忽略它吗?
1234563我可以这样做吗?
我认为,除了调试方便之外,这种方法的好处是可以帮助我在以后回来看程序时理解程序。 (对我来说很长很复杂,我相信我很快就会忘记它。)
我发现现在使用高级 IDE 和调试工具来开发我的程序对我来说非常复杂。我相信这些高级调试工具中的一些可以做与我想要的类似的事情,但我已经在 PHP-eclipse 和 xdebug 上尝试了一周,但它让我无处可去。非常感谢。
【问题讨论】:
标签: php debugging function printing comments