Laravel 命令参数 returns 键值对而不是值
Laravel Command argument returns keyvalue pair insted of value
我已经通过 php artisan make:command SomeCommand
生成了 Laravel artisan 命令。这是整个命令 class SomeCommand
.
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class SomeCommand extends Command{
protected $signature = 'Call:SomeCommand {phone="8980131488"} {name="Kiran Maniya"}';
protected $description = 'This is a buggy Command';
public function __construct(){
parent::__construct();
}
public function handle(){
$args = $this->arguments();
$this->info($args['phone'].' '.$args['name']);
}
}
问题是,当我通过 php artisan Call:SomeCommand phone="8980151878" name="Anubhav Rane"
调用命令时。它将带有密钥对值的参数输出为 name=Anubhav Rane
& phone=8980151878
。它应该只输出值。
我也尝试通过 $this->argument('phone')
和 $this->argument('name')
捕获单个值,但它仍然输出相同的值。
您传递参数的方式不正确。试试这个:
php artisan Call:SomeCommand 8980151878 'Anubhav Rane'
我已经通过 php artisan make:command SomeCommand
生成了 Laravel artisan 命令。这是整个命令 class SomeCommand
.
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class SomeCommand extends Command{
protected $signature = 'Call:SomeCommand {phone="8980131488"} {name="Kiran Maniya"}';
protected $description = 'This is a buggy Command';
public function __construct(){
parent::__construct();
}
public function handle(){
$args = $this->arguments();
$this->info($args['phone'].' '.$args['name']);
}
}
问题是,当我通过 php artisan Call:SomeCommand phone="8980151878" name="Anubhav Rane"
调用命令时。它将带有密钥对值的参数输出为 name=Anubhav Rane
& phone=8980151878
。它应该只输出值。
我也尝试通过 $this->argument('phone')
和 $this->argument('name')
捕获单个值,但它仍然输出相同的值。
您传递参数的方式不正确。试试这个:
php artisan Call:SomeCommand 8980151878 'Anubhav Rane'