马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 mumudontcry 于 2017-3-9 00:51 编辑
一些调试的技巧上一讲似乎有一些小伙伴看得晕晕乎乎的,总的来说是排版问题,所以,就没有人去试着操作一下嘛?-、- 这一讲我们说一说一些关于调试的技巧 在出现了一些不懂的函数,建议可以一边查看php手册,一边继续看这讲的内容 为什么在基础知识之前?也许你会问,我连php的变量是什么都不知道!我还怎么调试?为什么不先讲基础知识? 因为基础知识很多地方都可以找得到,如果你真的急需知道,那么请开启传送门(http://www.runoob.com/php/php-tutorial.html),找到你想要了解的章节,不过我的建议是,在继续下面内容时再查阅,养成查询手册的习惯 另外一个原因是,下面一些介绍的方法对后面的学习其实是很有帮助的,多打印你就知道程序的原理,而不是糊里糊涂(居然跑起来了!) echodie、exitvar_dump、print_r、var_export可以打印数组等结构,比echo和die(exit)稍微强大一点 通过下面的例子可以看出三者区别(注意需要php5.4以上,包括5.4,因为数组的中括号写法是5.4和5.4之后才有的) $var = [1, 'abc' ];
var_dump( $var );
print_r( $var );
var_export( $var );
得到的结果分别是array(2) {
[0] => int(1)
[1] => string(3) "abc"
}
Array(
[0] => 1
[1] => abc
)
array (
0 => 1,
1 => 'abc',
)
其中,var_export函数还接收第二个参数,当值为true时,不是直接输出,而是返回,你可以用变量保存起来,而且var_export得到的结果是一段可执行的代码,所以你看到的第三组的array的格式的数组就是数组最初的定义
file_put_contentsxdebug调试这个在上一讲已经说过,这里再提一下,建议使用phpstudy,如果感兴趣自己配置xdebug的,可以直接找我,或者看需求多不多 打开phpstudy,其他选项菜单,php扩展及设置,php扩展,勾选Xdebug 打开netbeans,创建项目,使用存在的php源代码创建,项目url指向你的根目录,索引文件指向你待调试的文件,建议设置为index.php,因为后面在做大项目的时候,一般框架都是单入口(简单说就是全部都从index.php开始)的,所以这里索引文件一般都是index.php 在对应的变量上打上断点,点击调试,此时浏览器弹出,断点被卡住,鼠标移动到变量上就可以看到相应的值,在窗口,调试,变量里可以打开详细的面板查看当前页面出现的所有变量的值 记得在调试完成之后,关闭调试,如果不调试,请去掉Xdebug勾选,因为Xdebug特别影响性能,同时记得线上运营代码绝对不能开启Xdebug,否则配置不当,服务器的日志会爆炸!(一天产生100G你怕不怕?)
其他其实还有我自己总结的其他一些调试经验,只不过在基础没有讲之前,实在是不合适,以后会慢慢再说明,可以透露其中一个留给你们思考: 上面说了,file_put_contents可以把变量的值打印到文件里查看,与之对应的,还有一个file_get_contents,这个函数接收一个文件路径做参数,用来获取文件的内容,噔噔噔~~其实,这个函数也可以用来打印变量的值,而且比file_put_contents更加强大,有没有想得出来的?
非小白的小伙伴的作业:如何用file_get_contents调试代码(保存变量的值)?
下一讲:php基础
顺便说一句,这一次的排版我用的是markdown生成的样式,记得不懂问度娘
#################### 华丽的 PHP 版分割线 ####################
如果喜欢木木的讲解,就点击下方的订阅(读作:打赏),给木木点个赞吧,欢迎大家提出建议或者指正
一块钱买不了皮肤,买不了香烟,却可以跟着木木一起打怪升级,并给木木巨大的支持,有了大家的力量,木木就可以制造元气弹,打败……嗯,买一个好一点的女朋友啦
|