欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Laravel 又一个调试利器 anbu

shiping1 的头像

简介

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

l3_anbu

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

安装

在 composer.json 的 require 字段里增加 "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 文件中, 我们加入以下测试代码:

//route.php


Route::get('/', function()
{
    //dump function
    ad('foo');
    ad('3');
    ad('30.33');
    ad(with(new stdClass)->foo = 'bar');
    ad(['name' => 'zhangsan', 'age' => 14]);

    //timers
    Anbu::timers()->start('test');
    sleep(1); // Do something interesting.
    Anbu::timers()->end('test', 'Completed doing something.');

    //db query
    \DB::table('anbu')->get();

    //log entries
    \Log::info('info message');
    \Log::info('another message');
    \Log::error('wrong message');

    return View::make('hello');
});

Route::post('/foo/baz/boo', 'Anbu\\Controller\AssetController@index');
Route::patch('/foo/bar', 'Anbu\\Controller\AssetController@index');
Route::put('/foo/bar', 'Anbu\\Controller\AssetController@index');
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

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

daylerees 的视频说明

 本帖已被设为精华帖!
回复数量: 13
  • zhuzhichao
    zhuzhichao • 2年前 •  • 

    挺好的,支持!

  • konakona
    konakona • 2年前 •  1 • 

    I was tried to changed the config ,and update. but it still show the single empty error.

    `MacdeMacBook-Pro-2:guilinrooms mac$ sudo composer update Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files Mcrypt PHP extension required. Script php artisan clear-compiled handling the post-update-cmd event returned with an error

    [RuntimeException] Error Output:`

  • konakona
    konakona • 2年前 •  • 

    But it Work!!

  • Summer
    Summer • 2年前 •  • 

    @konakona 团哥, 哈哈哈 :sunglasses:

  • konakona
    konakona • 2年前 •  • 

    @Summer Hi! What's up ,dude?

    Alsoo,ad() can't work. function_exists('ad') //true,wried!

  • lifesign
    lifesign • 2年前 •  • 

    @konakona seems Mcrypt PHP extension not loaded

  • konakona
    konakona • 2年前 •  • 

    @lifesign

    mcrypt support enabled mcrypt_filter support enabled Version 2.5.8 Api No 20021217

  • monkey
    monkey • 2年前 •  • 

    界面看起来不错 哈哈。:b

  • JobsLong
    JobsLong • 2年前 •  • 

    感觉蛮不错的

  • JobsLong
    JobsLong • 2年前 •  • 

    更快的安装方式:

    安装开发者包(加入国内镜像http://pkg.phpcomposer.com/ 速度还是蛮快的)

    composer require daylerees/anbu
    

    添加 ServiceProvider 和 Alias

    配置数据库连接

    还有最后一步

    php artisan asset:publish
    

    it‘s work.

  • gold3bear
    gold3bear • 2年前 •  • 

    刚装了"~1.0/alpha",发现一个比较严重的bug:会影响session的使用,导致用户无法正常登录。

  • lifesign
    lifesign • 2年前 •  • 

    @gold3bear 可以给作者提个issue :smile:

  • laravelwolf
    laravelwolf • 2年前 •  • 

    感觉很好用,

 
 

来自  https://phphub.org/topics/66
普通分类: