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.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. — cli) by Justin Hileman
>>> DB::listen(function ($query) { var_dump($query->sql); });
=> null
比如说拿帖子的评论
>>> $post->comments; string() "select * from "comments" where "comments"."post_id" = ?
and "comments"."post_id" is not null" (这里显示了SQL) => Illuminate\Database\Eloquent\Collection {#
all: [
App\Comment {#
id: "",
post_id: "",
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# Lamda中类似于SQL 中的 In 功能
首先,在程序中接受一个数组 例如:int[] s=[1,2,3]; 在Lamda表达式中使用如下: db.userinfo.where(u=>s.Contains(u.id)); 等同于sql语 ...
- Mysql中类似于oracle中nvl()函数的ifnull()函数
IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. my ...
- Mysql中类似于Oracle中connect by ... start with的查询语句(木大看懂)
表结构 create table sys_branch ( id ) not null, parent_id ), branch_name ), delete_flag ), primary key ...
- ThinkPHP中的__initialize()和类的构造函数__construct()
ThinkPHP中的__initialize()和类的构造函数__construct()网上有很多关于__initialize()的说法和用法,总感觉不对头,所以自己测试了一下.将结果和大家分享.不对 ...
- 在Zend Studio中为ThinkPHP添加代码自动提示功能
身边很多朋友都使用ThinkPHP或CodeIgniter等开发框架为自己的项目提高开发效率. 在得力于这些优秀框架良好的设计结构的同时,也头疼于代码的自动完成提示功能没有纯PHP网站那么完善了.经常 ...
- ThinkPHP中的内置标签
ThinkPHP中的内置标签 1.内置标签分类 闭合标签 <tag></tag> 开放标签 <tag /> 2.包含文件标签 主要功能:实现对文件的包含(类似于re ...
- thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)
thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间) 一.总结 1.标签和原生php之间的关系:标签只是为了方便你使用,标签 ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- ThinkPHP中疑难笔记
不但要记住核心的东西, 还要记住 相关的 东西: 如php cli的版本是 5.6.14 bulit: sep 30, 2015 tp中, 通常说的系统就是框架; 项目就是 "应用程序&qu ...
随机推荐
- js数组对象--数据格式的转换(字符串,对象的取值与赋值)
材料:提供一份数据:arr=[ {value:335, name:'直接访问'}, {value:310, name:'邮件营销'}, {value:234, name:'联盟广告'}, {value ...
- 在iOS上使用ffmpeg播放视频
国外靠谱的有这几个:1.Mooncatventures group https://github.com/mooncatventures-group 2.KxMoviePlayer (use Open ...
- yii 定义场景
定义场景可以限制对字段的增删改查操作
- div下面多个a标签的点击事件,并且获取a的属性
$('.fensiselect').on('click','a',function(){ var id= $(this).attr('fanid'); alert(id) })
- Spring集成MyBatis的使用-使用SqlSessionTemplate
Spring集成MyBatis的使用 Spring集成MyBatis,早期是使用SqlSessionTemplate,当时并没有用Mapper映射器,既然是早期,当然跟使用Mapper映射器是存在一些 ...
- Python __init__ 特殊方法
在Python中有很多以双下划线开头且以双下划线结尾的固定方法.他们会在特定的时机被触发执行. __init__ 就是其中之一,它会在实例化之后自动被调用.以完成实例的初始化. >>> ...
- JMeter学习(三十六)发送HTTPS请求(转载)
转载自 http://www.cnblogs.com/yangxia-test Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试.由于在云阅读接口测试的过程 ...
- 修改app工程名 Android Studio
1.关掉AndroidStudio,在原项目最外层文件夹和内部xxx.iml上直接重新命名, 2.然后重新打开AndroidStudio,加载项目, 3.最后
- c++中的类(class)-----笔记(类简介)
1, class 和 struct 都可以定义一个类,区别是两者在所支持的 默认信息隐藏方式不同:c++ 中默认为 private 类型,而 struct 中默认为 public 类型. 2,类的私有 ...
- 第四章 栈与队列(c1)栈应用:进制转换