srp*_*rph 2 php closures scope
有没有办法从闭包外的闭包访问变量?例如,我想$wallet
在闭包之外访问:
public function generate()
{
$this->ssh->run([
'~/Web/gatewayd/gateway generate_wallet'
], function($line) use ($fn)
{
$wallet = data $line.PHP_EOL;
});
return json_decode($wallet);
}
Run Code Online (Sandbox Code Playgroud)
我尝试了这个解决方案,但我觉得这既不奏效,也不是一个好习惯:
public function generate()
{
$wallet = null;
$this->ssh->run([
'~/Web/gatewayd/gateway generate_wallet'
], function($line) use ($wallet)
{
$wallet = $line;
});
return json_decode($wallet);
}
Run Code Online (Sandbox Code Playgroud)
只需尝试:
public function generate()
{
$wallet = null;
$this->ssh->run([
'~/Web/gatewayd/gateway generate_wallet'
], function($line) use ($fn, &$wallet)
{
$wallet = data $line.PHP_EOL;
});
return json_decode($wallet);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1423 次 |
最近记录: |