laravel-modules-livewire

laravel-modules-livewire

Laravel模块化开发中的Livewire集成工具

laravel-modules-livewire是一个开源的PHP工具,用于在Laravel模块化项目中集成Livewire组件。它支持自动注册组件、自定义stub和灵活渲染,简化了大型Laravel应用的开发。这个工具提高了代码可维护性和重用性,适用于需要在模块化架构中实现实时交互的Laravel项目。

Laravel ModulesLivewire组件创建渲染组件自定义模块Github开源项目

在 Laravel 模块中使用 Livewire

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

<p align="center"> <img src="https://dev.mhmiton.com/laravel-modules-livewire-example/public/assets/images/laravel-modules-livewire.png" alt="laravel-modules-livewire"> </p> <p align="left"> <strong>示例源代码:</strong><a href="https://github.com/mhmiton/laravel-modules-livewire-example" target="_blank">https://github.com/mhmiton/laravel-modules-livewire-example</a> </p> <p align="left"> <strong>在线示例演示:</strong> <a href="https://dev.mhmiton.com/laravel-modules-livewire-example" target="_blank">https://dev.mhmiton.com/laravel-modules-livewire-example</a> </p>

安装:

通过 Composer 安装:

composer require mhmiton/laravel-modules-livewire

发布包的配置文件:

php artisan vendor:publish --tag=modules-livewire-config

创建组件:

命令格式:

php artisan module:make-livewire <组件> <模块> --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

输出:

组件已创建  🤙

类文件:Modules/Core/app/Livewire/Pages/AboutPage.php
视图文件:Modules/Core/resources/views/livewire/pages/about-page.blade.php
标签:<livewire:core::pages.about-page />

内联组件:

php artisan module:make-livewire Core Pages/AboutPage --inline

输出:

组件已创建  🤙

类文件:Modules/Core/app/Livewire/Pages/AboutPage.php
标签:<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

输出:

组件已创建  🤙

类文件:Modules/Core/app/Livewire/Pages/AboutPage.php
视图文件:Modules/Core/resources/views/livewire/pages/about.blade.php
标签:<livewire:core::pages.about-page />

渲染组件:

<livewire:{模块小写名称}::组件类名称-短横线分隔 />

示例:

<livewire:core::pages.about-page />

自定义模块:

要为自定义模块创建组件,应在配置文件中添加自定义模块。

发布配置文件后,配置文件位于 config/modules-livewire.php

取消这些行的注释并添加你的自定义模块。

    /*
    |--------------------------------------------------------------------------
    | 自定义模块设置
    |--------------------------------------------------------------------------
    |
    */

    // 'custom_modules' => [
    //     'Chat' => [
    //         'path' => base_path('libraries/Chat'),
    //         'module_namespace' => 'Libraries\\Chat',
    //         // 'namespace' => 'Livewire',
    //         // 'view' => 'resources/views/livewire',
    //         // 'name_lower' => 'chat',
    //     ],
    // ],

自定义模块配置详情

path: 添加模块完整路径(必填)。

module_namespace: 添加模块命名空间(必填)。

namespace: 默认使用 config('modules-livewire.namespace') 值。你可以为特定模块设置不同的值。

view: 默认使用 config('modules-livewire.view') 值。你可以为特定模块设置不同的值。

name_lower: 默认使用模块名称的小写形式。如果设置自定义名称,模块组件将使用自定义名称注册。

许可证

版权所有 (c) 2021 Mehediul Hassan Miton mhmiton.dev@gmail.com

MIT 许可证 (MIT)。更多信息请参阅 许可证文件

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

下拉加载更多