PHPackages                             wolfans/usql-parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. wolfans/usql-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

wolfans/usql-parser
===================

SQL规范检测器。

v2.0(5y ago)026Private ProtocolPHP

Since Aug 13Pushed 5y agoCompare

[ Source](https://github.com/houxiansheng/sql-collector)[ Packagist](https://packagist.org/packages/wolfans/usql-parser)[ Docs](http://git.xin.com/jinrong/sql-collector)[ RSS](/packages/wolfans-usql-parser/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)DependenciesVersions (15)Used By (0)

sql检测器
======

[](#sql检测器)

1、功能及简单说明
---------

[](#1功能及简单说明)

- 收集sql信息，并统一远端管理。
- web统计分析后台：
- 目前仅限在优信测试环境中使用。

2、安装
----

[](#2安装)

### 2.1 修改composer.json

[](#21-修改composerjson)

- 1、增加composer包服务器

```
"repositories" : [{
	"type" : "composer",
	"url" : "http://packages.xin.com"
}],
```

- 2、配置绕过https校验规则

```

    #命令行调整 单个项目
    composer config secure-http false

    #命令行调整全局调整
    composer config -d secure-http false

    #手动增加配置
    "config" : {
        "secure-http" : false
    }
```

### 2.2、执行安装操作

[](#22执行安装操作)

```
   #安装指定版本（必须添加dev-master）
	composer require "uxin/sql-collector" dev-master
```

3、使用
----

[](#3使用)

### 3.1 方法介绍

[](#31-方法介绍)

- 收集方法

```
/**
 * 收集项目信息
 *1、同一进程多次调用该方法，内部逻辑仅把参数存放到变量中，未请求远端接口
 *2、同一进程中最多收集100条记录。
 *3、代码销毁时，在析构函数中，批量上传sql信息
 *
 * @param string $dbName 库名（必传）
 * @param string $query SQL语句（必传）（如select id from table_a where id=? 格式，如果不能拆分参数可以写整个sql语句）
 * @param string $bindings（必传） $query对应的绑定信息json格式,如果没有填写{}
 * @param int $takeTime（必传） 执行sql消耗时间（单位：毫秒）
 * @param int $execTime（必传） 程序执行时间（时间戳）
 * @param string $projectName（必传） 项目名称
 * @return boolean
 */
 SqlStandard::instance()->collect($dbName, $query, $bindings, $takeTime, $execTime, $projectName);
```

### 3.2 项目接入

[](#32-项目接入)

##### 3.2.1 Laravel5.1版本

[](#321-laravel51版本)

- 第一步：在bootstrap/app.php中注册类

```
$app->register(App\Providers\EventServiceProvider::class);
```

- 第二步：在app/Providers\\EventServiceProvider.php添加监听事件

```
protected $listen = [
      'illuminate.*'=>[
           'App\Listeners\SqlQueryListener'
      ]
];
```

- 第三步：创建app/Listeners/SqlQueryListener.php，实现sql收集

```
