laravel中类似于thinkPHP中trace功能

Posted SoftBlue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel中类似于thinkPHP中trace功能相关的知识,希望对你有一定的参考价值。

答案来自https://segmentfault.com/q/1010000007716945

一楼:

到 https://packagist.org 上搜索你想要的关键词,比如查debugbar

图片描述

列表中都有描述说明,其实一眼就能看见barryvdh/laravel-debugbar, 打开按说明去做就行了。

我帮你走一下:

1 安装, 终端进入你的Laravel项目根目录,通过composer 安装

composer require barryvdh/laravel-debugbar

  

2 让laravel启动的时候加载该包的服务提供者类

这个包是基于maximebf/debugbar包为laravel做的一个组件,自身已经写好服务提供者注册绑定在laravel容器上,我们只要在app/config.phpproviders加入t它的服务提供者类,让laravel启动的时候加载它

Barryvdh\\Debugbar\\ServiceProvider::class,

更具体的自己去研究下,可以看它在github上的说明: https://github.com/barryvdh/l... 有针对Laravel 和 lumen的详细配置和用法.

不过针对部分方法的调试及查看所写代码对应的sql是否OK, 用php artisan tinker会更快,更方便,你可以在tinker中监听$query

➜ php artisan tinker
Psy Shell v0.7.2 (PHP 7.0.12 — cli) by Justin Hileman
>>> DB::listen(function ($query) { var_dump($query->sql); });
=> null

比如说拿帖子的评论

>>> $post->comments;

string(92) "select * from "comments" where "comments"."post_id" = ?
 and "comments"."post_id" is not null" (这里显示了SQL)

=> Illuminate\\Database\\Eloquent\\Collection {#623
     all: [
       App\\Comment {#638
         id: "1",
         post_id: "1",
         content: "Some comment for the post",
         created_at: "2016-11-15 01:07:53",
         updated_at: "2016-11-15 01:07:53",
       },

 

二楼:

又看到题主了

composer require barryvdh/laravel-debugbar

添加

config/app.php
\'providers\' => [
    ...
    Barryvdh\\Debugbar\\ServiceProvider::class,
]

三楼:

除了composer require barryvdh/debugbar,phpstrom还有ide插件 composer require barryvdh/laravel-ide-helper
如果不想安装插件,代码中加入

\\DB::listen(function($sql,$query){
            dump($sql,$query);
        }); 

四楼:

debugbar

 

以上是关于laravel中类似于thinkPHP中trace功能的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中是不是有类似于 ruby​​ 的 set_trace_function 的工具?

写下thinkphp5和thinkphp3.2的不同

thinkphp的调试方案

thinkphp5.1学习笔记

thinkphp 和 laravel使用sql语句操作db和源码浅析

thinkphp 页面加载时间长怎么调试