警告:我不是一个PHP专家-希望有人能解释一下这段代码在做什么-为什么他对一个局部变量($state)应用一些东西,然后忽略它?这段代码是在3.1.1 php sdk,我注意到,当调试一个问题与js sdk和php交互期间authResponse触发器。
public function __construct($config) {
$this->setAppId($config['appId']);
$this->setApiSecret($config['secret']);
if (isset($config['fileUpload'])) {
$this->setFileUploadSupport($config['fileUpload']);
}
$state = $this->getPersistentData('state');
if (!empty($state)) {
$this->state = $this->getPersistentData('state');
}
}
是否像他想用$this->state = $state那样简单?
它没有被忽略。在下一行,它被用作empty
的参数。
empty
的参数必须是变量(参见手册),这就是为什么它被这样使用。
然而,他们也可能在$this->state
赋值中使用它。我不知道为什么他们没有。
我认为这是程序员方面的疏忽。他可以也应该把$state赋值给$this->state。