alibori/laravel-ddd-domain-resources

用于生成 Laravel DDD 应用程序领域资源的包。

v1.0.1 2023-05-16 16:31 UTC

This package is auto-updated.

Last update: 2024-09-16 19:28:54 UTC


README

Latest Version on Packagist run-tests Total Downloads

用于生成 Laravel DDD 应用程序领域资源的包。

兼容 Laravel 9.x 和 10.x。

考虑到 Laravel 应用程序中的 DDD 架构有多种不同的方法,此包旨在用作 DDD 实现的垂直切片。此外,它还有一些基本的占位符文件,可以根据您的需求进行自定义。

安装

您可以通过 composer 安装此包

composer require alibori/laravel-ddd-domain-resources --dev

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="ddd-domain-resources-config"

这是已发布配置文件的内容

<?php

declare(strict_types=1);

// config for Alibori/LaravelDddDomainResources package
return [
    /**
     * Here goes the path to your DDD Domains folder.
     */
    'domains_path' => 'app\\Domains',
    /**
     * Here goes all your desired DDD Domain Resources configuration.
     */
    'domains' => [
        /**
         * 'user' => [
         *     'name' => 'User',
         *     'namespace' => 'App\\Domains\\User',
         * ],
         */
    ]
];

可选地,您可以使用以下命令发布占位符

php artisan vendor:publish --tag="ddd-domain-resources-stubs"

使用方法

生成领域目录结构

一旦发布并填写了包的配置文件,您可以使用以下命令生成领域目录结构

php artisan domain:generate user --scaffold

这将生成以下目录结构

├── app
│   └── Domains
│       └── User
│           ├── Application
│           ├── Domain
│           │   ├── Contracts
│           │   ├── Events
│           │   ├── Exceptions
│           │   ├── ValueObjects
│           ├── Infrastructure
│           │   ├── Repositories

生成领域资源

基于前面的目录结构,您可以使用以下命令生成领域资源文件

php artisan domain:generate user {file-type}

{file-type} 可以是以下之一

  • use_case
  • contract
  • event
  • exception
  • value_object
  • repository
  • controller

例如,要生成 UseCase 文件,您可以运行以下命令

php artisan domain:generate user use_case

运行此命令时,您将被提示输入资源名称。例如,如果您想生成 CreateUser 用例,您可以输入 CreateUser 作为资源名称。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

致谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件