codions / laravel-modules-livewire
在Laravel Modules包中使用Laravel Livewire,并为每个模块自动注册Livewire组件。
Requires
- php: >=7.3
Requires (Dev)
- laravel/framework: ^7.0|^8.0|^9.0|^10.0
README
在Laravel Livewire中在Laravel Modules包中使用,并为每个模块自动注册Livewire组件。
安装
通过composer安装
composer require codions/laravel-modules-livewire
发布包的配置文件
php artisan vendor:publish --tag=modules-livewire-config
制作组件
命令签名
php artisan module:make-livewire <Component> <Module> --view= --force --inline --stub= --custom
示例
php artisan module:make-livewire Pages/AboutPage Core
php artisan module:make-livewire Pages\\AboutPage Core
php artisan module:make-livewire pages.about-page Core
如果类已存在,强制创建组件
php artisan module:make-livewire Pages/AboutPage Core --force
输出
COMPONENT CREATED
CLASS: Modules/Core/Http/Livewire/Pages/AboutPage.php
VIEW: Modules/Core/Resources/views/livewire/pages/about-page.blade.php
TAG: <livewire:core::pages.about-page />
内联组件
php artisan module:make-livewire Core Pages/AboutPage --inline
输出
COMPONENT CREATED
CLASS: Modules/Core/Http/Livewire/Pages/AboutPage.php
TAG: <livewire:core::pages.about-page />
修改占位符
发布包的占位符
php artisan vendor:publish --tag=modules-livewire-stub
发布占位符后,将创建这些文件。在运行make命令时,将默认使用这些占位符文件。
stubs/modules-livewire/livewire.inline.stub
stubs/modules-livewire/livewire.stub
stubs/modules-livewire/livewire.view.stub
您可以使用(--stub)选项为组件设置自定义占位符目录。
php artisan module:make-livewire Core Pages/AboutPage --stub=about
php artisan module:make-livewire Core Pages/AboutPage --stub=modules-livewire/core
php artisan module:make-livewire Core Pages/AboutPage --stub=./
额外选项(--view)
您可以使用(--view)选项为组件设置自定义视图路径。
示例
php artisan module:make-livewire Pages/AboutPage Core --view=pages/about
php artisan module:make-livewire Pages/AboutPage Core --view=pages.about
输出
COMPONENT CREATED
CLASS: Modules/Core/Http/Livewire/Pages/AboutPage.php
VIEW: Modules/Core/Resources/views/livewire/pages/about.blade.php
TAG: <livewire:core::pages.about-page />
渲染组件
<livewire:{module-lower-name}::component-class-kebab-case />
示例
<livewire:core::pages.about-page />
自定义模块
要为自定义模块创建组件,应在配置文件中添加自定义模块。
配置文件位于发布配置文件后的config/modules-livewire.php
。
取消这些行的注释,并添加您的自定义模块。
/*
|--------------------------------------------------------------------------
| Custom modules setup
|--------------------------------------------------------------------------
|
*/
// 'custom_modules' => [
// 'Chat' => [
// 'path' => base_path('libraries/Chat'),
// 'module_namespace' => 'Libraries\\Chat',
// // 'namespace' => 'Http\\Livewire',
// // 'view' => 'Resources/views/livewire',
// // 'name_lower' => 'chat',
// ],
// ],
自定义模块配置详细信息
路径:添加模块完整路径(必需)。
模块命名空间:添加模块命名空间(必需)。
命名空间:默认使用
config('modules-livewire.namespace')
的值。您可以为此特定模块设置不同的值。视图:默认使用
config('modules-livewire.view')
的值。您可以为此特定模块设置不同的值。小写名称:默认使用模块名称转换为小写。如果您设置了自定义名称,则模块组件将通过自定义名称注册。
鸣谢
- 此项目是mhmiton/laravel-modules-livewire的修改版本,作为分支创建了额外的更改。
许可证
Laravel Themes Manager是开源软件,许可协议为MIT许可证。