使用插件生成器将模块作为插件系统进行管理
作曲家需要 tomatophp/filament-plugins
安装软件包后请运行此命令
php artisan 灯丝插件:安装
默认情况下,模块类不会自动加载。您可以通过将 merge-plugin 添加到额外部分来自动加载模块:
“额外”:{“laravel”:{“不要发现”:[] },"merge-plugin": {"include": ["Modules/*/composer.json"] } },
现在您需要运行此命令来自动加载模块
作曲家转储自动加载
最后在/app/Providers/Filament/AdminPanelProvider.php
上重新注册插件
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make())
您只需使用命令即可创建新插件
php artisan 灯丝插件:生成
或者您可以使用 GUI 创建一个新插件,创建插件后您需要通过运行此命令确保它已加载到 Composer 上
作曲家转储自动加载
创建插件后,您可以在其中创建一个新表,然后运行迁移生成器将其转换为迁移文件,然后您可以使用 GUI 生成资源、页面、小部件或模型,或者您可以轻松使用此命令
php artisan 灯丝插件:模型 php artisan 灯丝插件:资源 php artisan 灯丝插件:页面 php artisan 灯丝插件:widget
它会为您生成文件,您可以直接使用它,请注意,您需要先生成模型而不是使用其他命令
您可以使用此命令使用命令行安装插件
php artisan 灯丝:插件
您可以选择全部来安装所有 TomatoPHP 生态系统插件,也可以选择您要安装的插件
您可以使用此命令列出所有 TomatoPHP 插件
php artisan 灯丝插件:列表
您可以通过在包根文件夹中添加一个名为module.json
json 文件来将您的包列出在插件列表中,其内容如下:
{"name": "FilamentAccounts","alias": "filament-accounts","description": {"ar": "具有 API/通知/联系人的完整帐户管理器,用于管理您的联系人和帐户","en": "带有 API/通知/联系人的完整客户经理,用于管理您的联系人和帐户","gr": "带有 API/通知/联系人的完整客户经理,用于管理您的联系人和accounts","sp": "具有 API/通知/联系人的完整帐户管理器,用于管理您的联系人和帐户"},"keywords": [],"priority": 0,"providers": ["TomatoPHPFilamentAccountsFilamentAccountsServiceProvider "],"files": [],"title": {"ar": "灯丝帐户","en": "灯丝帐户","gr": "灯丝帐户","sp": "灯丝帐户"},"color": "#007dff","icon": "heroicon-c-user-circle","placeholder": " placeholder.webp","type": "lib","version": "v1.0","github" : “https://github.com/tomatophp/filament-accounts”,“docs”:“https://github.com/tomatophp/filament-accounts”}
确保允许对filament-plugins.php
配置文件进行包扫描
'扫描' => 真
现在您可以使用此命令以非常简单的方式将包发布为模块
php artisan 灯丝插件:发布
并从列表中输入您的包名称,它会将其移动到您的模块文件夹并向您注册提供程序,以便您可以在包上自定义您喜欢的任何内容。
您可以通过在 PanelProvider 中使用此代码来使用面板中选定的模块
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->模块(['CRM']))
所以您只会在面板中看到选定的模块
在任何插件上,您可以为选定的面板创建页面/资源/小部件,因此,如果您需要仅显示当前面板页面/资源/小部件,您可以在 PanelProvider 中使用此代码
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->discoverCurrentPanelOnly())
您可以通过在 PanelProvider 中使用此代码来停止自动加载模块资源
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->autoDiscoverModules(false))
您可以通过在 PanelProvider 中使用此代码来停止使用插件 UI
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->useUI(false))
您可以使用此命令发布配置文件
php artisan 供应商:发布 --tag="filament-plugins-config"
您可以使用此命令发布视图文件
php artisan 供应商:发布 --tag="filament-plugins-views"
您可以使用此命令发布语言文件
php artisan 供应商:发布 --tag="filament-plugins-lang"
您可以使用此命令发布迁移文件
php artisan 供应商:发布 --tag="filament-plugins-migrations"
查看我们很棒的 TomatoPHP