thinkphp5 - Laravel是否有类似于ThinkPHP以及YII框架中的调试信息栏?
迷茫
迷茫 2017-04-10 18:01:40
[PHP讨论组]

ThinkPHP和YII框架的底部都有一个调试信息栏显示当前页面处理过哪些页面,执行过哪些sql以及执行时间等等,请问Laravel是否有类似功能?怎么弄出来?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
PHP中文网

谢谢邀请,有的,到 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,
]

Enjoy it;

伊谢尔伦

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

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

debugbar

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号