pushberryfinn/laravel-domains 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

pushberryfinn/laravel-domains

Composer 安装命令:

composer require pushberryfinn/laravel-domains

包简介

A Laravel package to manage and create modular domains inside your app

README 文档

README

Latest Version on Packagist Tests License PHP Version

A Laravel package to manage and create modular domains inside your Laravel app.

Overview

This package helps you organise your Laravel application by grouping related code (models, controllers, migrations, routes, commands, etc.) into domains — self-contained folders under app/Domains. Routes, migrations, and commands are automatically discovered and loaded for each domain.

Requirements

  • PHP 8.2 or higher
  • Laravel 11.x

Installation

composer require pushberryfinn/laravel-domains

Optionally publish the config file:

php artisan vendor:publish --tag=laravel-domains-config

Usage

Create a domain

php artisan domain:make Doctors

This creates the following structure under app/Domains:

app/Domains/
├── DomainsServiceProvider.php   ← created once on first domain
└── Doctors/
    ├── Console/Commands/
    ├── Http/Controllers/
    ├── Http/Requests/
    ├── Models/
    ├── database/migrations/
    └── routes/api.php

Important: After running domain:make for the first time, register DomainsServiceProvider in bootstrap/providers.php:

return [
    App\Providers\AppServiceProvider::class,
    App\Domains\DomainsServiceProvider::class,
];

Generate domain resources

# Model
php artisan domain:make-model Doctor --domain=Doctors

# Controller
php artisan domain:make-controller DoctorController --domain=Doctors

# Form Request
php artisan domain:make-request StoreDoctorRequest --domain=Doctors

# Migration
php artisan domain:make-migration create_doctors_table --domain=Doctors

# Artisan command
php artisan domain:make-command SyncDoctors --domain=Doctors

How it works

  • Every folder inside app/Domains is treated as a domain.
  • DomainsServiceProvider (placed in app/Domains) automatically loads each domain's migrations, routes, and console commands.
  • Console commands placed in {Domain}/Console/Commands/ are auto-registered.

Facade

You can use the LaravelDomains facade to list all registered domains at runtime:

use LaravelDomains;

$domains = LaravelDomains::domains(); // ['Doctors', 'Patients', ...]

License

The MIT License (MIT). See the LICENSE file for details.

Author

Atdhe Krasniqi — GitHub

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固