codions/laravel-modules-livewire

在Laravel Modules包中使用Laravel Livewire,并为每个模块自动注册Livewire组件。

v0.1.0 2023-06-01 08:55 UTC

This package is auto-updated.

Last update: 2024-09-30 02:02:56 UTC


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')的值。您可以为此特定模块设置不同的值。

小写名称:默认使用模块名称转换为小写。如果您设置了自定义名称,则模块组件将通过自定义名称注册。

鸣谢

许可证

Laravel Themes Manager是开源软件,许可协议为MIT许可证