Languages

Version

Theme

表格构造器

从 v2.x 升级

如果你发现本指南中有任何遗落,请发起 PR 到官方仓库!

新的要求

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

自动升级

升级应用的最简单方式是,运行自动升级脚本。该脚本会自动升级应用到 Filament 的最新版本,并修改你的代码,处理大多数破坏性更新。

composer require filament/upgrade:"^3.2" -W --dev
vendor/bin/filament-v3

请确保仔细按照说明进行操作,并查看脚本所做的更改。之后,你可能需要对代码进行一些手动更改,但脚本应该已经为你处理了大部分重复工作。

最后,你必须运行 php artisan filament:install 来完成 Filament v3 的安装。所有新的 Filament 项目都必须运行此命令。

然后,你可以运行 composer remove filament/upgrade,因为你不在需要它了。

你所使用的部分插件可能还没有适配 v3。你可以暂时将其移除出 composer.json 文件中,替换成另一个兼容 v3 的类似插件。或者等到插件更新再升级应用,甚至可以发起 PR 帮助作者升级插件。

手动升级

通过 Composer 升级依赖后,你应该执行 php artisan filament:upgrade 命令,以清理 Laravel 缓存并发布新的前端资源。

高影响更新

配置文件重命名并与其他 Filament 包合并

现在所有的 Filament 包共有一个配置文件。大部分配置已经转移到代码库的其他位置,只留下了少数。在替换你修改过的配置选项时,应该使用 v3 文档作为参考。要发布新配置文件并删除旧配置文件,请运行:

php artisan vendor:publish --tag=filament-config --force
rm config/tables.php

TABLES_FILESYSTEM_DRIVER .env 环境变量

TABLES_FILESYSTEM_DRIVER .env 环境变量被重命名为 FILAMENT_FILESYSTEM_DISK。这个更新是为了使之与 Laravel 更加一致,因为 Laravel 9 也引入了这一更新。请确保相应地更新 .env 文件,同时别忘记生产环境!

新增 @filamentScripts@filamentStyles Blade 模板指令

@filamentScripts@filamentStyles 模板指令必须添加到 Blade 布局文件中。由于 Livewire 3 不再使用类似的指令,你可以将 @livewireScripts 替换为 @filamentScripts,将 @livewireStyles 替换为 @filamentStyles

CSS 文件移除

表单组件的 CSS 文件 - module.esm.css - 已经被移除。查看 resources/css/app.css。那个 CSS 现在由 @filamentStyles 自动加载。

JavaScript 文件移除

你不再需要在 JavaScript 文件中引入 FormsAlpinePlugin。Alpine 插件现在由 @filamentScripts 自动加载。

Heroicons 已经升级到 v2

Heroicons 库已经升级到了 v2。也就是说你应用中使用的任何图标都已经改名了。你可以点击此处查看更新列表。

中等影响更新

Secondary 颜色

Filament v2 的 secondary 在许多组件中是灰色。所有 secondary 的引用都应该替换成 gray,以保持相同的外观。这一更新释放了 secondary 使之可以注册成你需要的自定义颜色。

BadgeColumn::enum() 移除

你可以使用 formatStateUsing() 函数来转换文本。

枚举类移动

以下枚举类已被移到:

  • Filament\Tables\Actions\Position 已被移到 Filament\Tables\Enums\ActionsPosition
  • Filament\Tables\Actions\RecordCheckboxPosition 已被移到 Filament\Tables\Enums\RecordCheckboxPosition
  • Filament\Tables\Filters\Layout 已被移到 Filament\Tables\Enums\FiltersLayout
Edit on GitHub

Still need help? Join our Discord community or open a GitHub discussion

上一页
测试