面板构建器
安装
要求
运行 Filament 有一些基础要求:
- PHP 8.1+
- Laravel v10.0+
- Livewire v3.0+
Livewire v3 已于最近发布了!
Livewire 团队为使其稳定方面做得很好,不过这是对 Livewire v2 的完全重写。你可能会碰到问题,因此,我们建议在将 Filament v3 使用到生产环境之前对应用进行全面的测试。
安装
如果你是从 Filament v2 升级,请查看升级向导。
安装 Filament 面板构造器,在 Laravl 项目目录下运行如下命令:
composer require filament/filament:"^3.0-stable" -Wphp artisan filament:install --panels
这段命令将会创建并注册一个新的 Laravel 服务提供者,叫做 app\Providers\Filament\AdminPanelProvider
.
如果访问面板时出错,请检查该服务提供者有没有在
config/app.php
中注册。如果没有,你应该手动将其添加到providers
数组中。
创建用户
如果还没有用户,你可以使用以下命令创建新用户:
php artisan make:filament-user
访问 /admin
并登录,你现在可以开始创建自己的应用了!
不确定应该从哪里开始?请浏览开始向导,学习如何构建一个完整登录的 Filament 管理后台。
使用其他 Filament 包
Filament 面板构造器包已经预装了表单构造器、表格构造器、通知生成器、Action、信息列表及 Widget 包。因此在面板中无需再行安装就能使用。
部署到生成环境
默认情况下,所有的 App\Models\User
在本地下都可以访问 Filament。要允许用户在生成环境中访问,你还需要采取一些额外的措施来确保只有授权的用户可以访问该应用。
<?php namespace App\Models; use Filament\Models\Contracts\FilamentUser;use Filament\Panel;use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements FilamentUser{ // ... public function canAccessPanel(Panel $panel): bool { return str_ends_with($this->email, '@yourdomain.com') && $this->hasVerifiedEmail(); }}
如果你没有完成这些步骤,当你在生产环境中试图访问应用时,会出现 403 错误。
了解更多用户相关信息。
发布配置
你可以使用如下命令发布配置文件:
php artisan vendor:publish --tag=filament-config
发布翻译文件
可以使用如下命令可以发布语言文件供翻译:
php artisan vendor:publish --tag=filament-translations
由于此包依赖于其他 Filament 包,因此你还可以使用如下命令发布语言文件:
php artisan vendor:publish --tag=filament-actions-translationsphp artisan vendor:publish --tag=filament-forms-translationsphp artisan vendor:publish --tag=filament-notifications-translationsphp artisan vendor:publish --tag=filament-tables-translationsphp artisan vendor:publish --tag=filament-support-translations
升级
如果你是从 Filament v2 升级,请查看升级向导。
当运行 composer update
命令时,Filament 会自动升级到最新的非破坏性版本。升级完成后,应该清除所有 Laravel 缓存,并且重新发布前端资源。你可以使用 filament:upgrade
命令一次性完成这些动作,该命令会第一次运行 filament:install
添加到 composer.json
文件中:
"post-autoload-dump": [ // ... "@php artisan filament:upgrade"],
请注意 filament:upgrade
不会真正处理升级过程,因为 Composer 已经做了升级,如果你不使用 post-autoload-dump
钩子手动升级,你可以自己运行该命令:
composer updatephp artisan filament:upgrade
Edit on GitHubStill need help? Join our Discord community or open a GitHub discussion