PHP函数参数作为参数

PHP function parameters as parameters

protected function waitPage($URL) {
    $this->webDriver->wait(10,500)->until(function ($URL){
        return $this->webDriver->getCurrentURL() === $URL;
    });
}

大家好,这就是我的代码,我正在尝试对产品进行端到端测试。内部函数是 facebook webdriver 的一部分,它意味着等待 URL 更改为新的 URL。我允许传递一个 URL 参数,以便整个函数在格式上更好一点。

但是内部函数说 $URL var 没有声明,外部函数说 $URL 参数没有被使用...我认为外部参数的范围将在 space 内,内部函数可以将其用作参数。

谁能告诉我为什么这不起作用?

谢谢!

你需要去 use:

protected function waitPage($URL) {
    $this->webDriver->wait(10,500)->until(function () use ($URL){
        return $this->webDriver->getCurrentURL() === $URL;
    });
}

如示例 #3manual 所示