shuvroroy / filament-spatie-laravel-backup
此插件基于Spatie的Laravel-backup包构建
v2.2.2
2024-08-14 05:41 UTC
Requires
- php: ^8.1
- calebporzio/sushi: ^2.4
- filament/filament: ^3.0
- spatie/laravel-backup: ^8.0|^9.0
- 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-backup上找到安装说明和完整文档。

支持此项目
安装
您可以通过composer安装此包
composer require shuvroroy/filament-spatie-laravel-backup
发布包的资产
php artisan filament:assets
您可以使用以下命令发布lang文件
php artisan vendor:publish --tag="filament-spatie-backup-translations"
使用方法
您首先需要在Filament中注册插件。这可以在您的PanelProvider
(例如AdminPanelProvider
)内部完成。
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin(FilamentSpatieLaravelBackupPlugin::make()); } }
如果您想覆盖默认的Backups
页面图标和标题,则可以扩展页面类并覆盖navigationIcon
属性和getHeading
方法等。
<?php namespace App\Filament\Pages; use ShuvroRoy\FilamentSpatieLaravelBackup\Pages\Backups as BaseBackups; class Backups extends BaseBackups { protected static ?string $navigationIcon = 'heroicon-o-cpu-chip'; public function getHeading(): string | Htmlable { return 'Application Backups'; } public static function getNavigationGroup(): ?string { return 'Core'; } }
然后在AdminPanelProvider
类上注册扩展的页面类。
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use App\Filament\Pages\Backups; use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentSpatieLaravelBackupPlugin::make() ->usingPage(Backups::class) ); } }
自定义轮询间隔
您可以通过以下步骤自定义Backups
的轮询间隔
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentSpatieLaravelBackupPlugin::make() ->usingPolingInterval('10s') // default value is 4s ); } }
自定义队列
您可以通过以下步骤自定义Backups
的队列名称
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentSpatieLaravelBackupPlugin::make() ->usingQueue('my-queue') // default value is null ); } }
自定义超时
您可以通过以下步骤自定义备份任务的超时时间
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentSpatieLaravelBackupPlugin::make() ->timeout(120) // default value is max_execution_time from php.ini, or 30s if it wasn't defined ); } }
有关更多详细信息,请参阅set_time_limit函数。
您还可以完全禁用超时,让任务运行所需的时间
<?php namespace App\Providers\Filament; use Filament\Panel; use Filament\PanelProvider; use ShuvroRoy\FilamentSpatieLaravelBackup\FilamentSpatieLaravelBackupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel // ... ->plugin( FilamentSpatieLaravelBackupPlugin::make() ->noTimeout() ); } }
升级
有关如何将1.X升级到2.0的详细信息,请参阅UPGRADE。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅我们的安全策略。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。