knacdev / laravel-plugins
Laravel-Plugins 是一个帮助您根据以下结构组织模块的包:{vendor}-{PackageName}。我个人正在用它来划分其他应用程序(如 Dashboard/Admin 或 Dashboard/User)中的逻辑部分。
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0
- wikimedia/composer-merge-plugin: ^2.1
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-06 17:11:23 UTC
README
简介
本包受 OctoberCMS 启发,旨在创建类似结构的插件,以帮助您将应用程序架构划分为更可扩展和可重用的组件。目标是能够确定您正在使用模型、控制器等的目的。在 laravel-plugins 中,您可以自定义所有文件存储的位置,以及是否使用 {vendor} 命名空间或默认命名空间。
由于模块/插件包缺乏管理,因此创建了此包。在我们公司,我们经常希望将逻辑部分划分为更大的逻辑组。例如,在我们的一个平台上,我们有多个用户视角,这导致代码混乱,因此我们需要使用其他包将客户端、用户和组数据分开,对于插件/模块,您可以有多个文件架构,其中一个可以是
一些开发人员想要使用他们自己的包或他们的工作,因为结构通用,命名空间总是混乱的,并且需要大量工作才能将他们的工作转移到我们的代码库中。使用 laravel-plugins,您只需创建一个具有自己命名空间的文件夹,所有模块都可以正常工作(如果建立在插件之上)KnausDev/warehouse
安装
您可以通过 composer 安装此包
composer require knausdev/laravel-plugins
自动加载
将其添加到您的 composer.json
请注意,在您的配置文件中更改 directory
,并在此处也进行更改
"extra": { "laravel": { "dont-discover": [] }, "merge-plugin": { "include": [ "Plugins/*/composer.json", "Plugins/*/*/composer.json" ] } }
用法
用法
在这个包中,您可以找到类似 {vendor}/{packageName} 的结构。
php artisan plugins:make {?vendor}.{packageName}
用法:php artisan plugins:make KnausDev.Warehouse
结果
/ <-- Your laravel root
/plugins <-- Directory configurable in laravel-plugins config file
/KnausDev <-- Vendor
/Warehouse <-- Package name
WarehouseServiceProvider.php
TODO:README 的其余部分
变更日志
请参阅 CHANGELOG 以获取更多关于最近更改的信息。
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 peter@knaus-development.com 而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证(MIT)。请参阅 许可文件 以获取更多信息。