承接 gibass/domain-maker-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gibass/domain-maker-bundle

最新稳定版本:1.0.1

Composer 安装命令:

composer require gibass/domain-maker-bundle

包简介

Generating classes for clean architecture Project in symfony

README 文档

README

gibass/domain-maker-bundle is a Symfony bundle that adds custom Maker commands to scaffold a Clean Architecture structure by domain.

The bundle generates classes and places them under your configured src directory.

Features

  • Create domain-oriented classes with interactive commands.
  • Support create-or-choose workflows for existing classes.
  • Handle dependencies between generated elements (for example Repository <-> Entity <-> Gateway).
  • Auto-update route config when generating controllers (config/routes.yaml).

Requirements

  • PHP >=8.2
  • symfony/maker-bundle ^1.61
  • gibass/domain-core ^0.1

Folder Structure

For example, we need to create a Blog domain; this bundle can generate a folder structure like:

|-- src // source folder
|   `-- Blog // A specific domain
|       |-- Domain
|       |   |-- Gateway
|       |   |   |-- PostGatewayInterface.php
|       |   |-- Model
|       |   |   |-- Entity
|       |   |   |   |-- Post.php
|       |   |-- UseCase
|       |   |   |-- CreatePost.php
|       |-- Infrastructure
|       |   |-- Adapter
|       |   |   |-- Repository
|       |   |       |-- PostRepository.php
|       |-- UserInterface
|       |   |-- Controller
|       |   |   |-- PostController.php
|       |   |-- Presenter
|       |   |   |-- Html
|       |   |   |   |-- PostPresenterHTML.php
|       |   |   |-- Json
|       |   |   |   |-- PostPresenterJSON.php

Installation

  1. Installing the bundle with composer :
composer require --dev gibass/domain-maker-bundle 
  1. Add this line in config/bundles.php:
<?php

return [
    // ...
    Gibass\DomainMakerBundle\DomainMakerBundle::class => ['dev' => true, 'test' => true],
];

Configuration

Default configuration:

domain_maker:
  parameters:
    root_namespace: App # Your project root namespace 
    dir:
      src: '%kernel.project_dir%/src/' # The source folder
      config: '%kernel.project_dir%/config/' # The symfony config folder

You can override the default configuration with your own values. Create a file domain_maker.yaml under config/packages Example :

domain_maker:
  parameters:
    root_namespace: MyProject # Set Root Namespace

Available Commands

  • php bin/console maker:use-case
  • php bin/console maker:entity
  • php bin/console maker:gateway
  • php bin/console maker:repository
  • php bin/console maker:presenter
  • php bin/console maker:controller

Interactive Flow

Each maker command first asks for the domain:

  1. Create a new domain, or
  2. Choose an existing one.

Depending on command type, it may also ask to:

  • create a new dependency,
  • choose an existing dependency,
  • or skip optional dependencies.

Example:

  • maker:repository can auto-create/select Gateway and select/create Entity.
  • maker:controller can optionally include a UseCase and/or a Presenter.

Notes

  • Existing files are not overwritten: generation throws an error if target file already exists.
  • Controller generation also writes route resource config into config/routes.yaml.

统计信息

  • 总下载量: 8
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固