Laravel的调试利器anbu

简介

anbu 是由 daylerees 开发的一款 laravel 的调试工具。 如果有熟悉 laravel3 的朋友应该知道, 内置的 profiler 就是集成的 anbu 。

l3_anbu

最近 daylerees 又开始重新开发 anbu , 重构了界面, 并且以模块化的方式增加调试组件, 值得一试。

安装

composer.jsonrequire 字段里增加 "daylerees/anbu": "dev-master"

"require": {     "laravel/framework": "4.2.*",     "daylerees/anbu": "dev-master" } 

执行 composer update

然后在config/app.php中增加 对应的 ServiceProvider

'providers' => array(     ...      'Illuminate\View\ViewServiceProvider',     'Illuminate\Workbench\WorkbenchServiceProvider',      'Anbu\ProfilerServiceProvider',  ), 

alias 数组中加入 Anbu Facade

'aliases' => array(     ...      'Anbu' => 'Anbu\Facades\Anbu' )  

同时, 要配置好对应的 database 连接 因为 anbu 会引入一张表用于存储相关的信息。

至此, anbu 安装完毕。

功能

为了更好的看到相关功能, 在 route.php 文件中, 我们加入以下测试代码:

  1. //route.php 
  2.  
  3.  
  4. Route::get('/'function() 
  5.     //dump function 
  6.     ad('foo'); 
  7.     ad('3'); 
  8.     ad('30.33'); 
  9.     ad(with(new stdClass)->foo = 'bar'); 
  10.     ad(['name' => 'zhangsan''age' => 14]); 
  11.  
  12.     //timers 
  13.     Anbu::timers()->start('test'); 
  14.     sleep(1); // Do something interesting. 
  15.     Anbu::timers()->end('test''Completed doing something.'); 
  16.  
  17.     //db query 
  18.     \DB::table('anbu')->get(); 
  19.  
  20.     //log entries 
  21.     \Log::info('info message'); 
  22.     \Log::info('another message'); 
  23.     \Log::error('wrong message'); 
  24.  
  25.     return View::make('hello'); 
  26. }); 
  27.  
  28. Route::post('/foo/baz/boo''Anbu\\Controller\AssetController@index'); 
  29. Route::patch('/foo/bar''Anbu\\Controller\AssetController@index'); 
  30. Route::put('/foo/bar''Anbu\\Controller\AssetController@index'); 
  31. Route::delete('/foo''Anbu\\Controller\AssetController@index'); 

执行 php -S localhost:8000 打开浏览器, 访问 localhost:8000 就可以看到左下角的 anbu 了。

dashboard

目前提供的功能有

路由

可以看到所有的请求以及对应的参数, 同时针对不同的 http 请求会用不同的颜色标识, 很清晰.

route

请求信息

在这个面板可以看到请求头以及 server 变量

request

Db Query

这个面板可以看到数据库执行语句以及所用的时间

db

Logs

同样用不同的标识表明不同类型的日志

log

Debug

用 ad 函数打印的变量都会出现在这里

debug

Timers

可以通过设定 Timer 来检测一段代码的执行时间

timer

请求历史

最后一个是新的功能, 主要记录了之前所发生的请求, 可以"重放"之前的请求, 比较实用.

request_history

这个库还在开发当中, 就目前的功能来说, 还是比较全的。

转载请注明:代码家园 » Laravel的调试利器anbu

也许你会喜欢和关注与本文内容高度相关的文章:

使用 Clockwork 来调试 Laravel App

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)