PHP CURLOPT_PROGRESSFUNCTION为函数添加额外的自定义参数

xor*_*zor 3 php curl

我想知道是否可以在使用时向自动调用的函数添加自定义参数

curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, array($this, 'progressFunction'));
Run Code Online (Sandbox Code Playgroud)

所以函数签名看起来像

private function progressFunction($clientp, $dltotal, $dlnow, $ultotal, $ulnow, $myCustomParameter) { }
Run Code Online (Sandbox Code Playgroud)

代替

private function progressFunction($clientp, $dltotal, $dlnow, $ultotal, $ulnow) { }
Run Code Online (Sandbox Code Playgroud)

谢谢.

Ibu*_*Ibu 10

好的,这是一个严格的建议,我会把它作为答案,因为我认为它可能有用;

Php支持匿名函数,所以你可以像这样传递它:

curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, function ($clientp, $dltotal, $dlnow, $ultotal, $ulnow) {

});
Run Code Online (Sandbox Code Playgroud)

现在的诀窍是使用useso 传递你的参数:

curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, function (...) use ($myCustomParameter) {
    // Your code
    });
Run Code Online (Sandbox Code Playgroud)