比如说有在提交注册的,有一个注册的方法,我想单步运行方法里面的内容,问题每次运行注册这个页面都是运行到if($_post[submit]){} ,因为页面没有点击提交按钮。所以这个方法进不去撒。怎么才能进到这个方法里面。或者这样说,我怎么才能像java中的调试一样。一旦运行浏览器调试就自动开始从断电处一步一步的下下走,而不是浏览器一下就将程序执行完毕?
一般来说,PHP程序有执行过程一般不超过30秒的特殊性。大多数只执行1秒不到。又属于远程调试的概念。所以,一是“极少”需要单步调试,二是调试需要远程支持,这种支持需要一套完整环境。如果实在需要,像zend studio这样商业套件,或者xdebug调试器,提供了单步调试的工具。一般写东西又买不起商业套件,又要单步怎么办,方法很多:1、可以在代码中加些输出。比如加一个exit();运行到那里停掉,重新运行前注解掉//exit()。又比如加一些额外echo。输出需要检查的变量。2、如果表单很巨大,用http客户端模拟POST提交,可以省去一些重新填写的麻烦。3、多写单元测试代码,确保数据IO无误,基本可以省略前两部。最后想问所有的程序员,连运行时间1秒不到的程序也难保证正确,什么时候才能写出win这样24小时运行的东西呢。意思是多规范自己的代码,提高编码质量,就能很少的依赖调试环境。题主作弊,自问自答。
PHP本就是脚本语言,程序执行就是“单线程”。要测试节点或者逻辑是否正确的话,只需要在你需要测试的节点echo一下信息,或者file_put_contents()写入日志信息。程序执行的基本流程就OK了,这时候就可以判断,你程序的节点逻辑是否执行正确了!