Laravel Command 传入参数为 json 格式的问题

Laravel Command 传入参数为 json 格式的问题

LaravelCommand 中想要传入 Json 格式的数据时,需要将参数作为 Option 传入,在 Command 中 Option 参数与 Argument 参数有一些不同。

如果用 argument 的方法则无法将 json 格式的数据作为参数传入,因为 Command 会将 Json 格式中 { 'a':1, 'b':2 } 作为两个参数 'a':1'b':2 来处理

Tipargumentoption 的不同,argument 需要按照先后顺序传入参数,option 可以无序,但是需要将参数名写清楚,不然 command 会以 argument 的形式传参

// 在这里 data 用 json 格式作为 option 方法传入
protected $signature = "test:create 
						{--id= : ID} 
						{--user= : 用户id} 
						{--page=index : 跳转页面} 
						{--data= : 参数,使用json格式传入}";

// 执行命令
php artisan test:create

// 打印结果
array(12) {
  'id' =>
  string(43) "3vWsr1w9FuU94NDOBiZA4iiSmtV-YXaLv6HR7sCHihY"
  'user' =>
  string(28) "oY2nd4rfF3b1zWwG6FcFnzLL0PJw"
  'page' =>
  string(11) "index/index"
  'data' =>
  string(173) "{"phone_number2":{"value":"158********"},"name1":{"value":""},"phrase5":{"value":"配送中"},"thing4":{"value":"网络"},"time3":{"value":"2020-04-01 12:34:56"}"
  'help' =>
  bool(false)
  'quiet' =>
  bool(false)
  'verbose' =>
  bool(false)
  'version' =>
  bool(false)
  'ansi' =>
  bool(false)
  'no-ansi' =>
  bool(false)
  'no-interaction' =>
  bool(false)
  'env' =>
  NULL
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值