thinkphp5 - Laravel是否有类似于ThinkPHP以及YII框架中的调试信息栏?

查看:118
本文介绍了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.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",
       },

这篇关于thinkphp5 - Laravel是否有类似于ThinkPHP以及YII框架中的调试信息栏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆