stephenjude / filament-debugger
关于
3.1.2
2024-09-25 10:49 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.16.0
Requires (Dev)
- laravel/pint: ^1.17
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-livewire: ^3.0
- phpunit/phpunit: ^11.0
README
Filament Debugger
轻松将 Telescope、Horizon 和 Laravel Pulse 添加到 Filament 管理面板。
安装
您可以通过 composer 安装此软件包
composer require stephenjude/filament-debugger
用法
use Stephenjude\FilamentDebugger\DebuggerPlugin; public function panel(Panel $panel): Panel { return $panel ->plugin( DebuggerPlugin::make() ); }
自定义角色/权限
您可以为具有特定角色/权限的用户授权插件
DebuggerPlugin::make() ->authorize(condition: fn() => auth()->user()->can('view.debuggers'));
自定义导航组
您可以自定义导航组
use Stephenjude\FilamentDebugger\DebuggerPlugin; $panel->plugin( DebuggerPlugin::make() ->navigationGroup(condition: true, label: 'Debugger') );
自定义导航项目
您可以自定义导航项目
use Stephenjude\FilamentDebugger\DebuggerPlugin; $panel->plugin( DebuggerPlugin::make() ->horizonNavigation( condition: fn () => auth()->user()->can('view.horizon'), label: 'Horizon', icon: 'heroicon-o-globe-europe-africaglobe-europe-africa', url: url('horizon'), openInNewTab: fn () => true ) ->telescopeNavigation( condition: fn()=> auth()->user()->can('view.telescope'), label: 'Telescope', icon: 'heroicon-o-sparkles', url: url('telescope'), openInNewTab: fn () => true ) ->pulseNavigation( condition: fn () => auth()->user()->can('view.pulse'), label: 'Pulse', icon: 'heroicon-o-bolt', url: url('pulse'), openInNewTab: fn () => true ) );
门禁 & 授权
在生产环境中使用 filament 调试器(Horizon、Telescope & Pulse)时,我们需要确保它们对授权的 filament 管理用户是可访问的。
为了实现这一点,我们需要使用 filament 默认的授权守卫以及通过覆盖 HorizonServiceProvider、TelescopeServiceProvider 和 PulseServiceProvider 中的 gate()
和 authorization()
方法提供的应用程序定义的权限。
protected function gate() { Gate::define('viewHorizon', function ($user) { return $user->can('view.debuggers'); }); } protected function authorization() { Auth::setDefaultDriver(config('filament.auth.guard')); parent::authorization(); }
屏幕截图
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请审查 我们的安全策略 了解如何报告安全漏洞。
致谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。