1.应用场景 //越发觉得要学习一门语言,最起码的要文档看几遍.
编写代码, 难免要调试, 特别针对后端接口, 有时, 并不想也不需要依赖前端接口参数来调试. PHP调试方法有: xdebug, 但是有时因环境等原因并不能立马搞定, 或者还是有一些问题, 可以采用最简单的方式打印方式 如使用, echo print_r var_dump var_export |
2.学习/操作
https://www.php.net/manual/zh/debugger.php //PHP 的调试 ¶
备注: php打印换行: 方式一: echo " 方式二: echo "\n"; 或者 print "\n"; 方式三: echo PHP_EOL;
1.使用var_export() 详细参见文档: https://www.php.net/manual/zh/function.var-export.php
(PHP 4 >= 4.2.0, PHP 5, PHP 7) var_export — 输出或返回一个变量的字符串表示
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。 您可以通过将函数的第二个参数设置为 比较 var_export() 和 var_dump().
code如下: $arr = [ // $str = var_export($arr, true);
输入结果: array (
由上可知: var_export()会一直保留着结构化形式存储数据.
用处: 可以打印出数组结果, 直接/修改作为参数 , 方便快速调试接口.
2.使用xdebug参见 https://blog.csdn.net/william_n/article/details/80072191 https://blog.csdn.net/william_n/article/details/94403410
3.关于时区的设置 暂见: https://www.php.cn/php-ask-430597.html 临时性处理: 获取当前时区: date_default_timezone_get(); 设置时区: date_default_timezone_set('Asia/Shanghai');
4. 自定义样式. 编写全局函数调试
打印样式如下: 补充: 有时候, 打印信息分行输出便于查看
截图: 或者
截图:
5. 找到 类/方法/函数/属性 所在的路径[文件位置] //利用PHP的反射
6.打印所有的参数 //有时, 接收到[前端传递到后端]接口的参数很多[层级有些深], 使用var_dump()等调试函数, 语句并不能输出全部. 使用下面的code. $dump = function ($var){ '; // This is for correct handling of newlines'; };
$data = [....]; //要打印的数据 $dump($data); 详细参见: https://www.php.net/manual/zh/function.var-dump
7. 查找需要的参数[值] 解决办法: 查找算法. TBD
后续补充 ... |
3.问题
TBD |
4.参考
https://www.php.net/manual/zh/debugger.php //PHP 的调试 ¶ https://www.php.net/manual/zh/function.var-export.php https://blog.csdn.net/william_n/article/details/80072191 https://blog.csdn.net/william_n/article/details/94403410 https://www.php.cn/php-ask-430597.html //php设置时区 https://www.imooc.com/learn/696 //从零开始打造自己的PHP框架 https://www.php.net/manual/zh/function.var-dump //var_dump() |
后续补充
...