Laravel/腔调试利器

  

一、效果图

 Laravel/腔调试利器


二、功能点:
1。当前请求的路由
2。当前请求的参数
3。当前一次请求运行的SQL,及SQL的运行时间。

上面三点包含我们在本地环境开发过程中必备的基本调式信息。


三,实现:
1。开发运行环境的配置

1.1打开.env文件,增加开关,建议开发环境设置为真的,生产环境设置为假      APP_DEBUG=true      1.2设置日志级别   APP_LOG_LEVEL=调试      1.3增加打印sql开关配置   打开配置目录的任意配置文件,我这里将配置防到database.php中      & # 39;sql_debug& # 39;,=祝辞,env (& # 39; APP_DEBUG& # 39;),



2。实现打印请求路由及参数

打开App \ Http \控制器\ Controller.php文件      增加构造方法:      public  function  __construct (Request 美元请求)   {   ,,,if  (env (& # 39; APP_DEBUG& # 39;)), {   ,,,,,,,\日志:调试(“\ n \ n");   ,,,,,,,\日志:调试(& # 39;请求路由:& # 39;,只请求→美元url ());   ,,,,,,,requestParameters 美元;=,请求→美元();   ,,,,,,,if (!空(requestParameters美元)),{   ,,,,,,,,,,,\日志:调试(& # 39;请求参数:& # 39;,只var_export (requestParameters美元,,真的));   ,,,,,,,},{else    ,,,,,,,,,,,\日志:调试(& # 39;请求参数:无& # 39;);   ,,,,,,,}   ,,,},,,,   }


3。实现打印运行的SQL语句

打开应用\ \ AppServiceProvider提供者;      引导方法中增加DB监听      public  function 引导()   {   ,,,//sql调试   ,,,sql_debug 美元;=,配置(& # 39;database.sql_debug& # 39;);//注意这里获取开关配置   ,,,if  (sql_debug美元),{   ,,,,,,,DB::听(function  ($ sql), {   ,,,,,,,,,,,foreach  (sql→美元bindings  as 小姐:美元=祝辞,美元绑定),{   ,,,,,,,,,,,,,,,if  (binding 美元;instanceof  \ DateTime), {   ,,,,,,,,,,,,,,,,,,,sql→美元绑定[$ i],=,美元绑定→格式(& # 39;\ & # 39;Y-m-d  H:我:s \ & # 39; & # 39;);   ,,,,,,,,,,,,,,,},{else    ,,,,,,,,,,,,,,,,,,,if  (is_string(绑定)美元),{   ,,,,,,,,,,,,,,,,,,,,,,,sql→美元绑定[$ i],=,“& # 39;美元绑定# 39;“;   ,,,,,,,,,,,,,,,,,,,}   ,,,,,,,,,,,,,,,}   ,,,,,,,,,,,}   ,,,,,,,,,,,query 美元;=,str_replace(数组(& # 39;% & # 39;,,& # 39;? & # 39;),,数组(& # 39;% % & # 39;,,& # 39;% & # 39;),,sql→美元sql);   ,,,,,,,,,,,query 美元;=,函数(查询,美元,美元sql→绑定);   ,,,,,,,,,,,\日志:调试(& # 39;运行SQL: & # 39;,只查询美元);   ,,,,,,,,,,,\日志:调试(& # 39;运行耗时:& # 39;,只sql→美元time 只& # 39;,女士# 39;);   ,,,,,,,});   ,,,}   }


四、验证并使用
终端下进到项目根目录,运行日志追踪命令

tail  -f 。/存储/logs/laravel.log


Laravel/腔调试利器