我使用Symfony(1.31) - 使用Propel ORM构建网站。我最近从使用文本编辑器转到Netbeans(6.8)作为我的开发环境。
来自编译语言(C ++)的背景,我习惯于在代码等中设置断点作为调试的一部分。我遇到的Web开发(至少使用PHP),已经很大程度上受到了打击 - 很好的调试至少可以说,使用echo语句,将文件记录到文件等等。我听说可以调试PHP(即设置断点等)。
我已经在网上搜索文档以显示如何设置断点(比如在一个MVC下载),这样当通过浏览器打开相关页面时,断点就会被击中,我可以单步执行代码(理想情况下,观察程序变量)。
这可以使用Symfony和Netbeans 6.8吗?
答案 0 :(得分:1)
以下是帮助我调试Symfony应用程序的内容:
通过apps / appname / config / settings.yml启用日志记录和Web调试工具栏。注意:任何更改都需要清除缓存。
dev:
.settings:
web_debug: true
logging_enabled: true
将var_dump()或print_r()与pre标签一起使用以从任何地方转储数据。添加退出;将允许您从控制器或其他任何地方转储变量。
echo '<pre>';
vardump($something);
echo '</pre>';
exit;
启用日志记录和日志消息。您也可以在任何地方访问记录器,但请确保为您的环境启用记录:
sfContext::getInstance()->getLogger()->info($message);
答案 1 :(得分:1)
似乎支持XDebug:http://netbeans.org/kb/docs/php/debugging.html
如果您对配置XDebug有具体问题:http://wiki.netbeans.org/HowToConfigureXDebug。
有关NetBeans中PHP开发的更多有用文章:http://netbeans.org/kb/trails/php.html。
希望有所帮助。
更新:刚刚安装了NetBeans 6.8并运行了配置,并且能够使断点与XDebug一起成功运行。 NetBeans与Symfony的集成也非常流畅,但是要让我检查一下这个问题。
答案 2 :(得分:0)
我已经将Gubed与Quanta +一起用作PHP的步进调试器,不知道你是否可以使用Netbeans,但我认为这样做更麻烦。我发现我可以(i = 0; i&lt; ~6; i ++){dump stuff to screen / log;做出改变;重新加载;}并在比我用调试器一次完成它的时间更短的时间内解决问题。
Xdebug是一个非常有用的PHP扩展,其特点是remote debugger支持某些编辑器,但未列出Neatbeans。我没有使用Xdebug的远程调试元素(见上文),但是我发现有用的分析,代码覆盖率,特别是改进的浏览器错误消息。
一般情况下,通过Symfony,我发现我可以从堆栈跟踪中获取大部分内容,或者将项目放入记录器并使用debug toolbar或firesymfony进行选择。
答案 3 :(得分:0)
Netbeans 7+在模型/操作中遇到xdebug断点问题。您必须使用手动功能来设置断点。
xdebug_break();