thinkphp5 - Laravel是否有类似于ThinkPHP以及YII框架中的调试信息栏?
本文介绍了thinkphp5 - Laravel是否有类似于ThinkPHP以及YII框架中的调试信息栏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
ThinkPHP和YII框架的底部都有一个调试信息栏显示当前页面处理过哪些页面,执行过哪些sql以及执行时间等等,请问Laravel是否有类似功能?怎么弄出来?
解决方案
谢谢邀请,有的,到 https://packagist.org 上搜索你想要的关键词,比如查debugbar
列表中都有描述说明,其实一眼就能看见barryvdh/laravel-debugbar
, 打开按说明去做就行了。
我帮你走一下:
1 安装, 终端进入你的Laravel项目根目录,通过composer 安装
composer require barryvdh/laravel-debugbar
2 让laravel启动的时候加载该包的服务提供者类
这个包是基于maximebf/debugbar
包为laravel做的一个组件,自身已经写好服务提供者注册绑定在laravel容器上,我们只要在app/config.php
的providers
加入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",
},
这篇关于thinkphp5 - Laravel是否有类似于ThinkPHP以及YII框架中的调试信息栏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文