开始
简介
虽然 Filament 几乎提供了构建优秀应用所需的任何工具,但有时你需要为应用添加自己的功能,或者作为其他开发人员可以引入到他们自己的应用中的可再分发软件包。这就是为什么 Filament 提供了一个插件系统,允许你扩展其功能。
在我们深入探讨之前,了解不同语境之下的“插件”非常重要。这里主要有两种语境:
- 面板插件:即用于面板构建器的插件。他们通常值用于在面板内添加功能或者作为一个完整的面板本身使用。示例有:
- 以 Widget 的形式添加特定功能到仪表盘的插件。
- 添加一套资源/功能到应用的插件,比如博客或者用户管理特性。
- 独立插件:即用于[面板构建器]上下文之外的插件。示例有:
尽管在构建插件时需要记住这两种不同的心智环境,但它们可以在同一个插件中一起使用。它们并非必然相互排斥的。
重要概念
在我们深入探讨构建插件的细节之前,有一些概念需要理解。在构建插件之前,你应该熟悉以下内容:
插件对象
Filament 引入了用于配置插件的插件对象的概念。这个对象是一个简单的 PHP 类,它实现了 Filament\Contracts\Plugin 接口。该类用于配置插件,是插件的主要入口点。它同时用于注册插件可能使用的资源和图标。
虽然插件对象非常有用,但构建插件并不一定需要它。你仍然可以在不使用插件对象的情况下构建插件,正如在构建面板插件教程中看到的那样。
NOTE
插件对象只用于面板提供者。独立插件不使用此对象。独立插件的所有配置都应该在插件的服务提供者中处理。