PHPackages                             lwz/laravel-extend-artisan - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. lwz/laravel-extend-artisan

ActiveLibrary[CLI &amp; Console](/categories/cli)

lwz/laravel-extend-artisan
==========================

3.0.2(3y ago)193MITPHP

Since Oct 27Pushed 3y ago1 watchersCompare

[ Source](https://github.com/lwzphper/laravel-extend-artisan)[ Packagist](https://packagist.org/packages/lwz/laravel-extend-artisan)[ Docs](https://github.com/lwzphper/laravel-extend-artisan)[ RSS](/packages/lwz-laravel-extend-artisan/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)DependenciesVersions (16)Used By (0)

### 一、工程目录结构

[](#一工程目录结构)

```
├── app                                 // 应用程序目录
│   └── Bar                             // 领域模块 Bar
│       └──Controller                   // 控制器目录
│           └──Api                      // 前端相关接口
│           └──Admin                    // 后台相关接口
│       └──Config                       // 模块自定义配置目录
│       └──Console                      // Schedule 及 artisan 命令目录
│       └──Events                       // 事件目录
│       └──Listeners                    // 事件监听者
│       └──Enums                        // 枚举
│       └──Constants                    // 常量
│       └──Databases                    // 数据库迁移
│       └──Request                      // 请求验证目录
│       └──Routes                       // 路由
│       └──Interfaces                   // 接口目录
│       └──Models                       // 模型目录
│       └──Providers                    // 服务提供者
│       └──Service                      // 业务逻辑层目录
│       └──Repositories                 // 仓库目录
│       └──Rpc                          // 调用外部服务的目录
│           └──Interfaces               // rpc服务接口
│           └──Services                 // rpc服务接口实现类
│       └──...                          // 其他自定义目录
│   └── README.md                       // 模块说明
│   └── ...                             // 以后增加的其他模块目录
├── config                              // 配置文件目录
├── core                               // 核心目录
│   └──Abstracts                        // 存放抽象类目录
│   └──Console                          // 存放自定义命令目录
│   └──Exception                        // 存放异常接管处理目录
│   └──Library                          // 公共类库目录
│   └──Listener                         // 存放事件监听目录
│   └──Traits                           // 存放复用类目录
│   └──CoreController.php               // 控制器基础类
│   └──CoreModel.php                    // 模型基础类
│   └──CoreRequest.php                  // 请求基础类
│   └──Rpc                              // 调用外部服务的目录（全局共用的服务，如：用户信息、基建模块接口）
│       └──Interfaces                   // rpc服务接口
│       └──Services                     // rpc服务接口实现类
├── public                              // 外部访问目录
├── storage                             // 存储目录
├── vendor

```

### 二、初始化项目

[](#二初始化项目)

1. 安装

    ```
    composer require lwz/laravel-extend-artisan --dev
    ```
2. 注册服务提供者 在 config/app.php 注册 ServiceProvider **(Laravel 5.5 + 无需手动注册)**

    ```
    'providers' => [
         // ...
         Lwz\LaravelExtend\Artisan\ArtisanServiceProvider::class,
     ],
    ```
3. `composer.json` 添加 Core 的目录命名空间

    ```
        "autoload": {
            "psr-4": {
                "App\\": "app/",
                "Core\\": "core/",
                "Database\\Factories\\": "database/factories/",
                "Database\\Seeders\\": "database/seeders/"
            }
        },

    ```

    ```
    composer dump-autoload
    ```
4. 创建模板文件

    ```
    php artisan vendor:publish --provider="Lwz\LaravelExtend\Artisan\ArtisanServiceProvider" --force
    ```
5. 删除 app 目录下的子目录

### 三、新建领域示例

[](#三新建领域示例)

创建 Foo 领域的 Bar 功能

1. 创建相关文件

    ```
    # 创建目录结构
    php artisan ext-make:micro Foo Bar
    # 创建 TestController 控制器
    php artisan ext-make:controller Foo Api/TestController
    # 创建表单验证类
    php artisan ext-make:request Foo TestRequest
    ```
2. 将对应模块的服务提供者注册到 `Core/Providers/AppServiceProvider.php` 中

    ```
    protected array $providers = [
        FooServiceProvider::class,
    ];
    ```
3. 在 `app/Foo/Routes/routes.php` 中定义路由

    如果需要自定义路由文件，在 `app/Foo/Providers/FooServiceProvider.php` 服务提供者的 `$routes` 属性中定义即可

### 四、命名说明：

[](#四命名说明)

```
# 创建服务基本框架
php artisan ext-make:micro 服务名 功能名
# 创建控制器
php artisan ext-make:controller 服务名 控制器名称
# 创建模型
php artisan ext-make:model 服务名 模型名称
# 创建迁移文件
php artisan ext-make:migration 服务名 迁移文件名
# 执行迁移文件（如果需要指定数据库引擎，可以使用 --database=xxx）
php artisan ext-migrate 服务名
# 创建请求验证类
php artisan ext-make:request 服务名 请求类名
# 创建中间件
php artisan ext-make:middleware 服务名 中间件类名
# 创建数据工厂（暂不支持在模块中使用 factory 方式创建数据）
# php artisan ext-make:factory 服务名 工厂名称
# 创建数据seeder
php artisan ext-make:seeder 服务名 名称
# 执行seed（如果需要指定数据库引擎，可以使用 --database=xxx; --class=xxx 指定seeder）
php artisan ext-db:seed 服务名
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~39 days

Recently: every ~126 days

Total

15

Last Release

1114d ago

Major Versions

1.0 → 2.02021-11-23

2.1.1 → 3.0.12023-04-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/6557f1ffbd1b1d09f225758560e0461de560127bf83750bdfb2b2e60aafdada2?d=identicon)[lwzphper](/maintainers/lwzphper)

---

Top Contributors

[![lwzphper](https://avatars.githubusercontent.com/u/35757691?v=4)](https://github.com/lwzphper "lwzphper (20 commits)")

### Embed Badge

![Health badge](/badges/lwz-laravel-extend-artisan/health.svg)

```
[![Health](https://phpackages.com/badges/lwz-laravel-extend-artisan/health.svg)](https://phpackages.com/packages/lwz-laravel-extend-artisan)
```

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M320](/packages/wp-cli-wp-cli)[consolidation/annotated-command

Initialize Symfony Console commands from annotated command class methods.

22569.8M19](/packages/consolidation-annotated-command)[chi-teck/drupal-code-generator

Drupal code generator

26947.8M5](/packages/chi-teck-drupal-code-generator)[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24725.8M17](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
