Filament 安装基本要求

运行 Filament 有一些基础要求:

  • PHP 8.1+
  • Laravel v10.0+
  • Livewire v3.0+

首先必须保证已经安装好 Laravel v10.0+ 版本并已完成数据库配置及迁移。否则后续执行 Filament 安装迁移时会报错。

https://laravel.com/docs/10.x/installation

安装

安装 Filament 面板构造器,在 Laravl 项目目录下运行如下命令:

composer require filament/filament:"^3.0-stable" -Wphp artisan filament:install --panels

这段命令将会创建并注册一个新的 Laravel 服务提供者,叫做 appProvidersFilamentAdminPanelProvider.

如果访问面板时出错,请检查该服务提供者有没有在 config/app.php 中注册。如果没有,你应该手动将其添加到 providers 数组中。

创建用户

如果还没有用户,你可以使用以下命令创建新用户:

php artisan make:filament-user

访问 /admin 并登录,你现在可以开始创建自己的应用了!

使用其他 Filament 包

Filament 3.x 版本中的面板构造器包已经预装了表单构造器、表格构造器、通知生成器、Action、信息列表及 Widget 包,因此我们无需再行安装就可以直接使用上述功能。

部署到生成环境

默认情况下,所有的 AppModelsUser 在本地环境下都可以访问 Filament 面板。要允许用户在生产环境中访问,你还需要采取一些额外的措施来确保只有授权的用户可以访问该应用。

<?php
 
namespace AppModels;
 
use FilamentModelsContractsFilamentUser;
use FilamentPanel;
use IlluminateFoundationAuthUser 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-translations
 
php artisan vendor:publish --tag=filament-forms-translations
 
php artisan vendor:publish --tag=filament-notifications-translations
 
php artisan vendor:publish --tag=filament-tables-translations
 
php artisan vendor:publish --tag=filament-translations