js/mysqlnd-analytics

JSMysqlndAnalytics 库是一个用于处理 PHP 的 mysqlnd 模块收集的统计信息,并为使用 ext/mysql、mysqli 或 pdo_mysql 的应用程序提供改进指南的库。

v1.1.1 2014-03-31 16:46 UTC

This package is auto-updated.

Last update: 2024-08-29 03:52:47 UTC


README

Mysqlnd 分析库提供了一种方式,通过利用 mysqlnd 的统计收集功能,让应用程序能够轻松收集特定时间段内关于 MySQL 操作的统计数据。然后,该库对这些统计数据进行分析,帮助用户改进其应用程序。

需求

要使用此库,需要在已激活 mysqli 扩展并使用 mysqlnd 的 PHP 环境中运行应用程序。mysqli 扩展仅用于检索数据。您的应用程序无需使用 mysqli。支持使用 Doctrine 和 PDO 的应用程序。

此库依赖于 rezzza/Formulate

Composer

可以使用 composer 安装此库

$ php composer.phar require "js/mysqlnd-analytics=dev-master"

有关详细信息以及最新版本号,请查看 Packagist 网站上的页面

使用示例

一个简单的用例可能如下所示

<?php
use JS\Mysqlnd\Analytics\Engine;
use JS\Mysqlnd\Analytics\DefaultRuleProvider;
use JS\Mysqlnd\Analytics\Calculator;
use JS\Mysqlnd\Analytics\Collector;

$collector = new Collector();
$collector->start();
/* run ext/mysql, mysqli or PDO_mysql queries */

$data = $collector->collect();
$analytics = new Engine(new DefaultRuleProvider(), new Calculator($data));

foreach ($analytics as $analytic) {
    if ($analytic->getMatched()) {
        echo $analytic->getName() . '(Severity: '. $analytic->getSeverity() . ")\n";
        echo $analytic->getGuidance()."\n\n";
    }
}

注意

对于 Symfony 应用程序,存在一个使用此库的捆绑包