在 Symfony 4.4 流程组件中将参数作为数组传递
Posted
技术标签:
【中文标题】在 Symfony 4.4 流程组件中将参数作为数组传递【英文标题】:Passing argument as array in Symfony 4.4 Process Component 【发布时间】:2021-12-02 20:01:03 【问题描述】:这是我要执行的流程命令,参数contactIds是一个数组。
$process = new Process([
"php",
"../fairgate4/bin/console",
"contactlist:remove",
$contactIds // array
]);
$process->start();
Symfony 对此参数抛出错误:
传递给 Symfony\Component\Process\Process::escapeArgument() 的参数 1 必须是字符串或 null 类型,给定数组
【问题讨论】:
我们只能将参数作为字符串传递,我已经内爆并传递了 【参考方案1】: $contactIdStr = implode(' ',contactIds); // converted array to string
$process = new Process([
"php",
"../fairgate4/bin/console",
"contactlist:remove",
$contactIdStr
]);
$process->start();
【讨论】:
我们也可以试试这个,Process::fromShellCommandline('command to execute');以上是关于在 Symfony 4.4 流程组件中将参数作为数组传递的主要内容,如果未能解决你的问题,请参考以下文章
在 Symfony 2.8、3.0 及更高版本中将数据传递给 buildForm()
Symfony 4.4 Auth0 如何从应用程序中完全注销用户
在 Symfony 3 中从控制器传递参数以形成 __construct 类型