1.1. 安装
安装
要求
运行 Filament 需要满足以下条件:
- PHP 8.1+
- Laravel v10.0+
- Livewire v3.0+
Livewire v3 近期发布了!
Livewire v3 在稳定性方面表现非常出色,相较于 Livewire v2 版本相当于重写,因此,您在开发过程中可能会遇到一些问题,我们建议您将 Livewire v3 用于生产环境之前请务必做好测试。
安装
如果您是从 Filament v2 升级,请阅读 升级指南。
在您的 Laravel 项目目录中运行以下命令来安装 Filament Panel Builder:
composer require filament/filament:"^3.0-stable" -W
php artisan filament:install --panels
该操作会为您创建并注册一个名为 app/Providers/Filament/AdminPanelProvider.php
的 服务提供者。
如果在访问 Filament 面板时出现错误,请检查该服务提供者是否已在您的
config/app.php
中注册。如果没有,请手动将其添加到providers
数组中。
创建用户
使用以下命令创建一个新的用户:
php artisan make:filament-user
在浏览器中打开 /admin
,登录并开始构建您的应用程序!
不知道如何开始?请阅读 入门指南,了解如何构建完整的 Filament 管理面板。
使用其他 Filament 组件
Filament 面板构建器已经预安装了 表单构建器、表格构建器、通知、动作、信息列表 以及其他 小组件 。在面板中使用这些组件不需要其他安装步骤。
生产环境部署
允许用户访问面板
默认情况下,所有 User
模型可以在本地访问 Filament。但是,当部署到生产环境时,你需要更新你的 App\Models\User.php
,这样才能确保只有特定的用户才能进入你的管理面板。
<?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 Forbidden 错误。
了解更多关于 users。
缓存 Blade Icons
如果你想让 Filament 运行得更快,你可以考虑在部署时使用 php artisan icons:cache
命令。因为 Filament 使用 Blade Icons 包进行缓存时以获得更高的性能。不过,这取决于硬件,许多服务器并不需要此命令也能使 Filament 平稳运行。
发布配置
要发布 Filament 包的配置文件(如果需要的话),你可以执行以下命令:
php artisan vendor:publish --tag=filament-config
发布翻译文件
如果需要的话,你可以使用以下命令发布用于翻译的语言文件:
php artisan vendor:publish --tag=filament-panels-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
升级
如果你是从 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 update
php artisan filament:upgrade
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: