You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel如何仅列出用户自行创建的自定义Artisan命令

Laravel 仅展示自定义 Artisan 命令的方法

方法1:使用自带的命名空间过滤参数 无需修改代码,推荐

Laravel 的 list 命令本身支持 --namespace 参数,可直接过滤指定命名空间下的命令,你的自定义命令默认都在 App\Console\Commands 命名空间下,执行以下命令即可:

# Linux/Mac 环境
php artisan list --namespace=App\\Console\\Commands

# Windows 环境
php artisan list --namespace=App\Console\Commands

执行后只会输出你自己在 app/Console/Commands 目录下创建的自定义命令,不会显示 Laravel 内置命令。

方法2:创建专属的自定义命令列表命令 适合高频使用场景

如果你觉得每次输入长参数太麻烦,可以自己写一个专属命令来实现一键查询:

  • 生成新的命令文件:
php artisan make:command ListCustomCommands
  • 打开生成的 app/Console/Commands/ListCustomCommands.php 文件,修改代码如下:
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class ListCustomCommands extends Command
{
    protected $signature = 'custom:list';
    protected $description = '展示所有自定义的 Artisan 命令';

    public function handle()
    {
        // 调用 list 命令,自动传入命名空间参数
        $this->call('list', [
            '--namespace' => 'App\Console\Commands'
        ]);
    }
}
  • 之后只要执行 php artisan custom:list 就能直接看到所有自定义命令了。

不建议直接修改 Laravel 内核的 list 命令逻辑,会导致后续框架升级时出现冲突,上述两种方案已经可以覆盖绝大多数使用场景。

内容的提问来源于stack exchange,提问作者Petr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:06:02