innovartingsas/laravel-hexagonal

Laravel 的六边形架构

V2.1 2023-02-19 03:27 UTC

This package is auto-updated.

Last update: 2024-09-19 07:04:18 UTC


README

Latest Version on Packagist Total Downloads Software License

Laravel 包,允许通过基于 六边形架构 的结构修改 Laravel 在其初始安装时提出的文件夹结构。

安装

composer require innovartingsas/laravel-hexagonal --dev

实现

在根项目中执行 artisan 命令

php artisan hexagonal:install --folder={NAME_FOLDER} --app-namespace={APP_NAMESPACE}

或者使用简短形式

php artisan hexagonal:install -f {NAME_FOLDER} -a {APP_NAMESPACE}

命名空间会自动添加到 compose.json 文件中的 psr-4 键。

app 文件夹中找到的所有文件和文件夹将被移动到包安装命令中定义的选项 --folder 中找到的 Infrastructure 文件夹内。

包创建的文件结构

  • App 文件夹名称
    • 应用程序
    • 领域
      • 实体
        • 特质
          • AddProps.php
          • DeleteProps.php
          • Serializable.php
        • BaseEntity.php
        • EntityId.php
    • 基础设施
      • 控制台
      • 异常
      • Http
      • 模型
      • 提供者

待办事项列表

  • 添加 CommandBus 合同
  • 添加 UseCases 的 Command 和处理程序接口
  • 添加自定义 Container 类
  • 添加 CommandBus 和 Container 类的绑定
  • 在 Domain 文件夹内添加 Contracts 文件夹
  • 在 Domain 文件夹内添加 Repositories 文件夹
  • 添加用于创建实体、工厂、仓库和用例的命令。

许可协议

Laravel Hexagonal 包是开源软件,许可协议为 MIT 许可证