码大汉 / insular
可扩展软件架构。
Requires
- php: ^8.0
- godruoyi/php-snowflake: ^2.0
- illuminate/support: ^6.9|^7.0|^8.0|^9.0
- spatie/laravel-data: ^1.0
- spatie/laravel-translatable: ^6.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-04 15:02:21 UTC
README
Insular 是一种用于以现代、清晰和模块化的方式构建可扩展 Laravel 项目的软件架构。
Insular 是拉丁语,意为 "世界观狭隘。" 这也是模块应该如何组织的方式。 🔥🔥
目录
安装
您可以通过 composer 安装此包。
composer require MagedAhmad/insular
雪花
我们使用雪花作为 ID,默认情况下,使用自定义命令创建的新模型将使用 Snowflake
特性。您可以在这里了解更多关于雪花的信息:[Snowflake](https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Fitnext.io%2Fhow-to-use-twitter-snowflake-ids-for-your-database-primary-keys-in-laravel-763a98e78466)。
可用命令
模块
您从构建应用程序的主块开始,即一个 模块
。
模块就像微型 Laravel 应用程序,其中每个模块都包含构建此模块所需的一切。
php artisan create:module $name
示例
php artisan create:module Auth
这将创建 Modules\Auth
中的模块结构
功能
当您有多个与某些操作相关的操作,并且您会多次重复这些操作时,可以使用功能。您可以创建一个功能并在以后重用它。
php artisan create:feature $name $module
示例
php artisan create:feature LoginUserFeature Auth
这将创建 Modules\Auth\Features\LoginUserFeature
中的功能
操作
操作是主要构建块,其中大部分逻辑都会放入其中,它可能包含多个作业。
php artisan create:operation $name $module
示例
php artisan create:operation LoginUserOperation Auth
这将创建 Modules\Auth\Operations\LoginUserOperation
中的文件
作业
作业是我们系统中最小的单元。您可以使用它来避免重复小段代码。只有当您确定您会多次使用它时,才应使用它,否则操作足以在其中包含逻辑。
php artisan create:job $name $module
示例
php artisan create:job LoginUserJob Auth
这将创建 Modules\Auth\Jobs\LoginUserJob
中的文件
控制器
php artisan create:controller $name $module
示例
php artisan create:controller LoginController Auth
这将创建 Modules\Auth\Http\Controllers\LoginController
中的文件
迁移
您只需写入迁移名称,例如 users
、products
、categories
,无需键入 create_users_table
。
php artisan create:migration $name $module
示例
php artisan create:migration users Auth
这将创建 Modules\Auth\database\migrations\users
中的文件
模型
模型默认使用 Snowflake
特性
php artisan create:model $name $module
示例
php artisan create:model User Auth
这将创建 Modules\Auth\Models\User
中的文件
资源
资源可用于在发送响应之前映射数据。
php artisan create:resource $name $module
示例
php artisan create:resource UserResource Auth
这将创建 Modules\Auth\Http\Controllers\Resource\UserResource
中的文件
请求
可用于验证传入的请求数据。
php artisan create:request $name $module
示例
php artisan create:request UserRequest Auth
这将创建 Modules\Auth\Http\Controllers\Requests\UserRequest
中的文件
类型
类型可用于在类之间内部处理数据
php artisan create:type $name $module
示例
php artisan create:type UserData Auth
这将创建 Modules\Auth\Types\UserData
中的文件
异常
php artisan create:exception $name $module
示例
php artisan create:exception UserNotFoundException Auth
这将创建 Modules\Auth\Exceptions\UserNotFoundException
中的文件
测试
vendor/bin/pest
待办事项
1- 为所有请求工作全局响应。2- 提供测试/查看 API 的简单方法。3- 在 Pest 和 phpunit 之间切换
更新日志
有关最近更改的更多信息,请参阅更新日志。
贡献
有关详细信息,请参阅贡献。
鸣谢
许可证
MIT许可证(MIT)。更多信息请参阅许可文件。