shuvroroy / filament-spatie-laravel-health
此插件基于Spatie的Laravel-health包构建
v2.1.0
2024-07-27 14:59 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- spatie/laravel-health: ^1.23
- spatie/laravel-package-tools: ^1.15
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
此包提供了一个Filament页面,您可以通过使用 spatie/laravel-health 包注册检查来监控您应用程序的健康状况。

支持本项目
安装
您可以通过composer安装此包
composer require shuvroroy/filament-spatie-laravel-health
此包可以以多种方式存储健康检查结果 (例如)。当使用EloquentHealthResultStore时,检查结果将存储在数据库中。要创建health_check_result_history_items表,您必须创建并运行迁移。
php artisan vendor:publish --tag="health-migrations"
php artisan migrate
发布包的资产
php artisan filament:assets
使用方法
您首先需要将插件与Filament进行注册。这可以在您的 PanelProvider
中完成,例如 AdminPanelProvider
。
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelHealth\FilamentSpatieLaravelHealthPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin(FilamentSpatieLaravelHealthPlugin::make()); } }
然后在app/Providers/AppServiceProvider.php中的 boot
方法注册Health::checks
<?php namespace App\Providers; use Spatie\Health\Facades\Health; use Spatie\Health\Checks\Checks\OptimizedAppCheck; use Spatie\Health\Checks\Checks\DebugModeCheck; use Spatie\Health\Checks\Checks\EnvironmentCheck; class AppServiceProvider extends ServiceProvider { public function boot(): void { Health::checks([ OptimizedAppCheck::new(), DebugModeCheck::new(), EnvironmentCheck::new(), ]); } }
请参阅 Spatie Laravel Health 的完整文档
如果您想覆盖默认的 HealthCheckResults
页面图标和标题,则可以扩展页面类,并覆盖 navigationIcon
属性和 getHeading
方法等。
<?php namespace App\Filament\Pages; use ShuvroRoy\FilamentSpatieLaravelHealth\Pages\HealthCheckResults as BaseHealthCheckResults; class HealthCheckResults extends BaseHealthCheckResults { protected static ?string $navigationIcon = 'heroicon-o-cpu-chip'; public function getHeading(): string | Htmlable { return 'Health Check Results' } public static function getNavigationGroup(): ?string { return 'Core'; } }
然后在 AdminPanelProvider
类中注册扩展的页面类。
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelHealth\FilamentSpatieLaravelHealthPlugin; use App\Filament\Pages\HealthCheckResults; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentSpatieLaravelHealthPlugin::make() ->usingPage(HealthCheckResults::class) ); } }
升级
请参阅 UPGRADE 了解如何将1.X升级到2.0的详细信息。
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
致谢
许可协议
MIT许可(MIT)。有关更多信息,请参阅 许可文件。