salehhashemi/laravel-domain-expert

Laravel Domain Expert 是一个直观的 Laravel 扩展包,通过简化领域创建、管理和组织来简化领域驱动开发。

v1.4.1 2023-04-17 18:47 UTC

This package is auto-updated.

Last update: 2024-09-20 14:48:01 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions GitHub Code Style Action Status StyleCI

Laravel Domain Expert 是一个帮助您在 Laravel 应用程序中创建和管理领域驱动目录结构的扩展包。它自动化了设置新领域所需文件夹、控制器和带有路由组和领域前缀的简单路由文件的过程。

AI 驱动的领域推荐

Laravel Domain Expert 包含一个 AI 驱动的领域推荐功能,可以帮助您自动将现有的控制器和模型分组和组织到领域驱动结构中。

要使用此功能,请运行以下命令

php artisan suggest:domains

AI 将猜测应用程序的目的并提供一个结构良好的组织,无需用户输入任何额外信息。

AI 系统的示例输出

安装

要安装 Laravel Domain Expert,您可以使用 Composer

composer require salehhashemi/laravel-domain-expert

用法

创建新领域

要创建新的领域目录结构,请运行以下命令

php artisan make:domain DomainName

将 DomainName 替换为您希望领域使用的名称。

该命令将在您的 Laravel 应用程序中创建领域目录结构,包括示例控制器和带有路由组和领域前缀的简单路由文件。

领域结构

当您使用 php artisan make:domain DomainName 命令创建新领域时,将生成以下目录结构

Domains
└── DomainName
    ├── Exceptions
    ├── Http
    │   ├── Controllers
    │   │   ├── DomainNameController.php
    │   ├── Middleware
    │   └── Requests
    ├── Jobs
    ├── Models
    ├── Observers
    ├── Repositories
    ├── resources
    │   ├── css
    │   ├── js
    │   └── views
    ├── routes
    │   └── web.php
    └── Services

这种结构帮助您以领域驱动的方式组织代码,随着应用程序的增长,使其更容易管理和维护。

在领域内创建控制器

要创建特定领域中的新控制器,请使用 -d 或 --domain 标志

php artisan make:controller ControllerName -d

php artisan make:controller ControllerName --domain

使用 -d 或 --domain 标志时,您将提示选择要创建控制器的领域。

其他命令

您可以使用相同的常规操作来制作

  • 观察者
php artisan make:observer ObserverName --domain
  • 模型
php artisan make:model ModelName --domain

自动加载路由和视图

该扩展包包括内置支持来自动加载每个领域的路由和视图。当您的扩展包安装并注册服务提供程序时,DomainAutoScanServiceProvider 类将扫描 Domains 目录并自动发现和加载每个领域的路由和视图文件。

示例:在控制器中调用视图

要引用领域内的视图,请使用领域名称作为命名空间,后跟两个冒号和视图文件路径。以下是如何在控制器中调用视图的示例

return view('DomainName::view-name');

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近发生了哪些变化。

贡献

请参阅 CONTRIBUTING 了解详细信息。

致谢

许可证

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