添加自定义Artisan命令(带可选参数)

hefengbao 发布于 2023.10.02 ,最后更新于 2023.10.02

1、创建命令(command)

php artisan make:command CreateUserCommand

2、完善逻辑


<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Models\User;

class CreateUserCommand extends Command
{
    protected $signature = 'create:user {username?} {email?} {password?} {--admin : Create an admin user}';

    protected $description = 'Create a new user';

    public function handle()
    {
        $username = $this->argument('username') ?? $this->ask('Enter username:');
        $email = $this->argument('email') ?? $this->ask('Enter email:');
        $password = $this->argument('password') ?? $this->secret('Enter password:');
        $isAdmin = $this->option('admin');

        $user = new User();
        $user->name = $username;
        $user->email = $email;
        $user->password = bcrypt($password);
        $user->is_admin = $isAdmin;
        $user->save();

        $this->info('User created successfully!');
    }
}

3、使用命令

按照 $signature 中的定义传入参数:

php artisan create:user admin admin@example.com password123 --admin

还可以不传参数,通过命令行提示完成:

php artisan create:user

参考:https://laracoding.com/adding-a-custom-artisan-command-with-optional-arguments/

Laravel    Laravel   Laravel 入门  

上一篇:LaravelTips:7个Laravel函数也接受数组参数

下一篇:LaravelTips:在 Laravel 中加载限制数量的关联数据并避免 N+1问题

有 0 条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注