js / mysqlnd-analytics
JSMysqlndAnalytics 库是一个用于处理 PHP 的 mysqlnd 模块收集的统计信息,并为使用 ext/mysql、mysqli 或 pdo_mysql 的应用程序提供改进指南的库。
v1.1.1
2014-03-31 16:46 UTC
Requires
- php: >=5.3.2
- ext-mysqli: *
- ext-mysqlnd: *
- rezzza/formulate: 1.0.*
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 应用程序,存在一个使用此库的捆绑包。