PHPackages                             maksde/filament-versions - 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. maksde/filament-versions

ActiveLibrary

maksde/filament-versions
========================

Отображение версий в FilamentPhp.

1.0.1(1mo ago)07↑757.1%MITPHPPHP ^8.2

Since Apr 8Pushed 1mo agoCompare

[ Source](https://github.com/demyanenkomaks/filament-versions)[ Packagist](https://packagist.org/packages/maksde/filament-versions)[ RSS](/packages/maksde-filament-versions/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (7)Versions (3)Used By (0)

Отображение версий в FilamentPhp.
=================================

[](#отображение-версий-в-filamentphp)

[![Packagist Version](https://camo.githubusercontent.com/3de217c8f72df9ce61c518306f5d09393928a90b61ba13815b82b8f50d465831/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d616b7364652f66696c616d656e742d76657273696f6e73)](https://packagist.org/packages/maksde/filament-versions)[![Packagist Downloads](https://camo.githubusercontent.com/35b22d0a01a8db0b10e979ae7e326907814e5298b78dcb0d2f54d467158e254f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d616b7364652f66696c616d656e742d76657273696f6e73)](https://packagist.org/packages/maksde/filament-versions)[![Packagist Dependency Version](https://camo.githubusercontent.com/6d06a6076d77959ffd2be5a6abe5bf7729db1022569a3734dfe495e3cca095e0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6d616b7364652f66696c616d656e742d76657273696f6e732f706870)](https://packagist.org/packages/maksde/filament-versions)[![Packagist Dependency Version](https://camo.githubusercontent.com/8a3fcbd4c771a9a6f99df582c22c1cccb916f842784a80bbae6f4089daa646c5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6d616b7364652f66696c616d656e742d76657273696f6e732f66696c616d656e7425324666696c616d656e74)](https://packagist.org/packages/maksde/filament-versions)[![Packagist License](https://camo.githubusercontent.com/334def84c169fa6df22d05c37ca611204ec85c1d6292d8f0ae0220fbeaa376a0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d616b7364652f66696c616d656e742d76657273696f6e73)](https://packagist.org/packages/maksde/filament-versions)

Пакет для [Filament](https://filamentphp.com/): карточки версий на базе `StatsOverviewWidget` / `Stat`. Поддерживаются встроенные источники (PHP, Laravel, Filament, окружение приложения, MySQL/MariaDB, PostgreSQL, Redis) и **любые свои** через контракт `VersionProvider`.

**Свой провайдер:** пошаговая инструкция — [docs/custom-version-provider.md](docs/custom-version-provider.md).

Требования
----------

[](#требования)

- PHP `^8.2`
- Filament `^4.0 | ^5.0`

Установка
---------

[](#установка)

```
composer require maksde/filament-versions
```

Опционально опубликовать конфиг и переводы:

```
php artisan vendor:publish --tag=filament-versions-config
php artisan vendor:publish --tag=filament-versions-translations
```

После изменения конфигурации в продакшене при необходимости выполните `php artisan config:clear`.

Быстрый старт
-------------

[](#быстрый-старт)

1. Подключите плагин и виджет в провайдере панели (например в `PanelProvider`):

```
use Filament\Panel;
use Maksde\FilamentVersions\FilamentVersionsPlugin;
use Maksde\FilamentVersions\Widgets\FilamentVersionsWidget;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentVersionsPlugin::make(),
        ])
        ->widgets([
            FilamentVersionsWidget::class,
        ]);
}
```

Чтобы добавить классы провайдеров **без правки** `config`, используйте цепочку `FilamentVersionsPlugin::make()->widgetProviders([...])` и при необходимости `->pageProviders([...])` — подробнее в [docs/custom-version-provider.md](docs/custom-version-provider.md).

2. Настройте списки провайдеров в [`config/filament-versions.php`](config/filament-versions.php).

Конфигурация
------------

[](#конфигурация)

Файл задаёт **два независимых списка** провайдеров: для виджета на дашборде (`widget`) и для отдельной страницы (`page`). Они могут отличаться (например, на дашборде — только ядро стека, на странице — ещё и БД).

После `vendor:publish` правьте `config/filament-versions.php` в приложении; исходный эталон — в репозитории пакета.

КлючНазначение`widget.providers`Классы `VersionProvider` **в порядке карточек** для `FilamentVersionsWidget``widget.permission`Имя права для показа виджета на дашборде (`$user->can()`, Shield; `null` — без проверки)`widget.column_span`Значение `columnSpan` виджета (`'full'`, число, массив брейкпоинтов — см. Filament)`widget.sort`Порядок виджета среди остальных (`null` — поведение Filament по умолчанию)`page.permission`Право на страницу версий: меню, URL и виджет в шапке страницы (`null` — без проверки)`page.enabled`Регистрировать ли страницу `VersionsPage` через плагин`page.path`Сегмент URL (slug) страницы версий`page.providers`Провайдеры **только** для страницы (виджет в шапке страницы); список не обязан совпадать с `widget.providers``page.should_register_navigation`Показывать пункт в боковом / верхнем меню панели`page.navigation_sort`Сортировка пункта меню (`null` — без явного порядка)`page.navigation_icon`Иконка пункта меню: `Heroicon`, строка алиаса Filament или `null`**Дополнительные провайдеры из кода:** у `FilamentVersionsPlugin::make()` можно вызвать `widgetProviders([...])` и/или `pageProviders([...])` — переданные классы **дописываются в конец** соответствующего списка после массива из конфига.

**Кэш конфига:** после правок на проде выполните `php artisan config:clear` или пересоберите `config:cache`.

### Доступ и Filament Shield

[](#доступ-и-filament-shield)

Проверки идут через пользователя панели `Filament::auth()->user()` и метод `can()` (модели с **Laravel `Authorizable`**, в т.ч. роли/права Spatie и **Filament Shield**).

- **`widget.permission`** — если задано, `FilamentVersionsWidget::canView()` вызывает `FilamentVersionsAccess::canViewDashboardWidget()`.
- **`page.permission`** — если задано, `VersionsPage::canAccess()` и `VersionsPageWidget::canView()` используют `FilamentVersionsAccess::canViewVersionsPage()` / `canViewVersionsPageWidget()`.

Можно указать **массив** строк: пользователю достаточно иметь **любое** из прав (`canAny`).

Для произвольной логики можно вызвать в своём коде `Maksde\FilamentVersions\Support\FilamentVersionsAccess::check(...)` или переопределить `canView()` / `canAccess()` в **своих** подклассах виджета/страницы.

Встроенные провайдеры
---------------------

[](#встроенные-провайдеры)

КлассЧто показывает`PhpVersionProvider`Версия PHP`LaravelVersionProvider`Версия приложения Laravel (`$app->version()`)`FilamentVersionProvider`Версия пакета `filament/filament` (Composer)`AppEnvVersionProvider``config('app.env')``MysqlVersionProvider``VERSION()` через **дефолтное** подключение БД`PostgresqlVersionProvider``version()` через **дефолтное** подключение БД`RedisVersionProvider``redis_version` из **дефолтного** Redis-подключенияMySQL, PostgreSQL и Redis зависят от `config/database.php`. При неверном драйвере, недоступном сервере или ошибке запроса в карточке обычно отображается текст ошибки или `n/a` — как реализовано в конкретном провайдере.

Контракт провайдера (кратко)
----------------------------

[](#контракт-провайдера-кратко)

Интерфейс: `Maksde\FilamentVersions\Contracts\VersionProvider`.

- Обязательно: `getLabel(): string`, `getVersion(): string`
- Также по контракту: `getIcon(): string|\BackedEnum|null`, `getColumnSpan(): array|int|string|null`, `getDescription(): ?string`

Удобная база: `Maksde\FilamentVersions\Providers\AbstractVersionProvider` — по умолчанию без иконки, `columnSpan = 1`, без описания.

Подробнее о своём классе, регистрации и переводах: [docs/custom-version-provider.md](docs/custom-version-provider.md).

Локализация
-----------

[](#локализация)

Переводы группы `filament-versions` подгружаются из пакета. После публикации правьте файлы в `lang/vendor/filament-versions/{locale}/filament-versions.php`.

Примеры ключей:

- подписи карточек: `filament-versions::filament-versions.defaults.php` и др.
- страница: `filament-versions::filament-versions.page.title`, `…navigation_label`, `…navigation_group`

Лицензия
--------

[](#лицензия)

Этот пакет является открытым программным обеспечением, лицензированным по [лицензии MIT](LICENSE.md).

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance94

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

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 ~0 days

Total

2

Last Release

32d ago

### Community

Maintainers

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

---

Top Contributors

[![demyanenkomaks](https://avatars.githubusercontent.com/u/59017297?v=4)](https://github.com/demyanenkomaks "demyanenkomaks (3 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/maksde-filament-versions/health.svg)

```
[![Health](https://phpackages.com/badges/maksde-filament-versions/health.svg)](https://phpackages.com/packages/maksde-filament-versions)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[jeffgreco13/filament-breezy

A custom package for Filament with login flow, profile and teams support.

1.0k1.7M41](/packages/jeffgreco13-filament-breezy)[althinect/filament-spatie-roles-permissions

340954.7k9](/packages/althinect-filament-spatie-roles-permissions)[ysfkaya/filament-phone-input

A phone input component for Laravel Filament

299998.0k20](/packages/ysfkaya-filament-phone-input)[awcodes/filament-curator

A media picker plugin for FilamentPHP.

434297.7k19](/packages/awcodes-filament-curator)[dutchcodingcompany/filament-socialite

Social login for Filament through Laravel Socialite

213914.9k9](/packages/dutchcodingcompany-filament-socialite)

PHPackages © 2026

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