paVLM / yii2-stats-widget
从应用程序的不同数据源探索时间序列数据的统计小部件
v0.1.2
2018-04-11 18:30 UTC
Requires
- php: >=5.5
- bower-asset/chartjs: *
Requires (Dev)
- yiisoft/yii2: ^2.0
This package is auto-updated.
Last update: 2024-09-29 05:08:07 UTC
README
可视化应用程序中的时间序列数据。该包由两部分组成。
- 基于 charts.js 库的交互式统计小部件。小部件功能包括:浏览不同的日期范围,更改数据分组间隔。
- 数据提供者和格式化器,用于读取和适配应用程序统计数据的小部件。
安装
composer require pavlm/yii2-stats-widget
使用
1. 设置 StatsAction
将操作添加到某个控制器。配置时间序列提供者。
public function actions() { return [ 'stats-users' => [ 'class' => StatsAction::class, 'providerFactory' => new TimeSeriesProviderCallbackFactory(function ($rangeStart, $rangeEnd, $period, $timeZone) { return new QueryStatsProvider([ 'rangeStart' => $rangeStart, 'rangeEnd' => $rangeEnd, 'period' => $period, 'timeZone' => $timeZone, 'timeZoneConnection' => new \DateTimeZone('Europe/Moscow'), 'query' => (new Query())->from('user'), 'dateField' => 'created_at', 'dateFieldType' => QueryStatsProvider::DATETYPE_INT, ]); }), 'timeZone' => 'Europe/Moscow', 'defaultRange' => 'P2Y', 'defaultPeriod' => 'P1Y', ], ]; }
注意:可以在 pavlm/yii2-stats-providers 包中找到额外的时序提供者。
2. 将小部件添加到某个应用程序视图。
小部件 statsAction 必须设置为步骤 1 中配置的操作路由。
echo StatsWidget::widget([ 'statsAction' => ['stats/stats-users'], ]);
3. 打开带有统计小部件的页面。
本地化
'i18n' => [ 'translations' => [ 'stats-widget' => [ 'class' => yii\i18n\PhpMessageSource::class, 'basePath' => '@pavlm/yii/stats/messages', ], ], ],