PHPackages                             pavlm/yii2-stats-widget - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. pavlm/yii2-stats-widget

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

pavlm/yii2-stats-widget
=======================

Statistics widget for exploring time series data from diffrent sources of your application

v0.1.2(8y ago)4503MITPHPPHP &gt;=5.5

Since Jan 1Pushed 6y ago2 watchersCompare

[ Source](https://github.com/pavlm/yii2-stats-widget)[ Packagist](https://packagist.org/packages/pavlm/yii2-stats-widget)[ RSS](/packages/pavlm-yii2-stats-widget/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (2)Versions (4)Used By (0)

yii2-stats-widget
=================

[](#yii2-stats-widget)

Visualizes time series data from your application. Package consists of two parts.

- **Interactive stats widget** based on charts.js library. Widget features are: different date ranges browsing, changing data group interval.
- **Data providers and formatters** wich read and adapt data of your application for the stats widget.

Installation
------------

[](#installation)

`composer require pavlm/yii2-stats-widget`

Usage
-----

[](#usage)

### 1. Setup StatsAction

[](#1-setup-statsaction)

Add action to some controller. Configure time series provider.

```
    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',
            ],
        ];
    }
```

Note: additional time series provider(s) can be found in the [pavlm/yii2-stats-providers](https://github.com/pavlm/yii2-stats-providers) package.

### 2. Add widget to a some application view.

[](#2-add-widget-to-a-some-application-view)

Widget statsAction must be set to the action route configured in step 1.

```
echo StatsWidget::widget([
    'statsAction' => ['stats/stats-users'],
]);
```

### 3. Open page with stats widget.

[](#3-open-page-with-stats-widget)

[![StatsWidget example](stats-widget-demo.png)](stats-widget-demo.png)

### Localization

[](#localization)

```
    'i18n' => [
        'translations' => [
            'stats-widget' => [
                'class' => yii\i18n\PhpMessageSource::class,
                'basePath' => '@pavlm/yii/stats/messages',
            ],
        ],
    ],
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~49 days

Total

3

Last Release

2953d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b42f1be8b0568a04c1d8aac03962bbf8c97e8305a051bfbae59f296e42234878?d=identicon)[pavlm](/maintainers/pavlm)

---

Top Contributors

[![pavlm](https://avatars.githubusercontent.com/u/8758854?v=4)](https://github.com/pavlm "pavlm (38 commits)")

---

Tags

charttime-seriesyii2

### Embed Badge

![Health badge](/badges/pavlm-yii2-stats-widget/health.svg)

```
[![Health](https://phpackages.com/badges/pavlm-yii2-stats-widget/health.svg)](https://phpackages.com/packages/pavlm-yii2-stats-widget)
```

###  Alternatives

[jansenfelipe/cep-gratis

Com esse pacote você poderá realizar consultas de CEP gratuitamente.

689.4k](/packages/jansenfelipe-cep-gratis)[automattic/maintenance-mode-wp

Shut down your site for a little while and do some maintenance on it!

491.4k](/packages/automattic-maintenance-mode-wp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
