laraxot / panel-modules
filamentphp 中对 nwidart/laravel-modules 的支持
Requires
- php: ^8.1
- filament/filament: ^3.2
- illuminate/contracts: ^9.1|^10.0|^11.0
- nwidart/laravel-modules: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- orchestra/testbench: *
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-08 08:39:31 UTC
README
模块是 FilamentPHP 插件,旨在轻松集成 nwidart/laravel-modules
注意:这些文档是为 v3 版本准备的,它仅支持 Filament 3。如果您正在使用 Filament v2,请参阅此处文档以开始。
例如,如果您有两个模块(博客 和 Pos),您应该能够在每个模块中安装 filament,并使用以下不同的资源
- 目录 Modules/Blog/Filament 应该使您能够通过
http://yoururl/blog/admin
访问管理面板 - 目录 Modules/Pos/Filament 应该使您能够通过
http://yoururl/pos/admin
访问管理面板 - 我们甚至可以在 Modules/Pos/Filament2 下有另一个上下文,这将使您能够通过
http://yoururl/pos/admin2
或您为该上下文配置的任何路径访问管理面板。
上述每个目录都应该有自己的独特的 页面、资源 和 小部件。它们在模块的配置文件夹下也都有一个配置,允许您为每个上下文自定义许多参数,例如 path
。此外,每个这些都可以有自己的定制登录页面,该页面将重定向回模块。
您可以在这里了解更多关于 Filament 多上下文的信息。
如果这是您的目标,那么您就在正确的位置。
安装
在您继续之前,本指南假定您已经完全配置了您的应用程序以与 Laravel Modules 一起工作。如果您还没有,请在继续之前先遵循 Laravel Modules 文档。
要求
- Filament >= 3
- PHP >= 8.1
- Laravel >= 9.0
- Livewire >= 3.0
- nwidart/laravel-modules >=10.0
例如,如果您有两个模块(博客 和 Pos),您应该能够在每个模块中安装 filament,并使用以下不同的资源
- 目录 Modules/Blog/Filament 应该使您能够通过
http://yoururl/blog/admin
访问管理面板 - 目录 Modules/Pos/Filament 应该使您能够通过
http://yoururl/pos/admin
访问管理面板 - 我们甚至可以在 Modules/Pos/Filament2 下有另一个上下文,这将使您能够通过
http://yoururl/pos/admin2
或您为该上下文配置的任何路径访问管理面板。
上述每个目录都应该有自己的独特的 页面、资源 和 小部件。它们在模块的配置文件夹下也都有一个配置,允许您为每个上下文自定义许多参数,例如 path
。此外,每个这些都可以有自己的定制登录页面,该页面将重定向回模块。
您可以在这里了解更多关于 Filament 多上下文的信息。
如果这是您的目标,那么您就在正确的位置。
安装
在您继续之前,本指南假定您已经完全配置了您的应用程序以与 Laravel Modules 一起工作。如果您还没有,请在继续之前先遵循 Laravel Modules 文档。
- 确保您已安装并配置了 Laravel Modules (遵循这些说明)
- 确保您已安装并配置了 Filamentphp (遵循这些说明)
- 您现在可以通过 composer 安装此包
composer require laraxot/panel-modules
用法
在本指南中,我们将使用 博客模块
作为示例
创建您的 Laravel 模块
如果您要工作的模块不存在,请使用 nwidart/laravel-modules 创建它
php artisan module:make Blog # Create the blog module
在您的模块内生成一个新的面板
php artisan module:make-filament-panel admin Blog # php artisan module:make-filament-panel [id] [module]
如果未传递任何两个参数,则命令将交互式地请求它们。在本例中,如果传递的 Panel ID 是 admin
且模块是 blog,则命令将生成一个 ID 为 blog::admin
的面板。此 ID 应用于下一步生成资源、页面和小部件时。在此步骤中,使用命令交互式地生成资源、页面和小部件。
如往常一样生成您的资源、页面和小部件,选择您刚才创建的上面的面板。
从现在起,像平常一样使用 filament 生成 resources
、Pages
和 Widgets
。请确保指定之前生成的 ID 的 --panel
选项。如果未传递 --panel
选项,则命令将交互式地请求它。
# For each of these commands, the package will ask for the Model and Panel.
php artisan make:filament-resource
php artisan make:filament-page
php artisan make:filament-widget
# The Model and Panel arguments are passed inline
php artisan make:filament-resource Author blog::admin
php artisan make:filament-page Library blog::admin
php artisan make:filament-widget BookStats blog::admin
全部完成! 对于生成的每个面板,您都可以通过 module-path/panel-path
导航到您的面板,例如 blog/admin
以访问面板和资源以及页面的链接。
测试
composer test
更新日志
请参阅变更日志获取关于最近更改的更多信息。
贡献
请参阅贡献指南获取详细信息。
安全漏洞
请查看我们的安全策略了解如何报告安全漏洞。
鸣谢
许可
MIT 许可证 (MIT)。请参阅许可文件获取更多信息。