Facebook PHP API构造函数——由于某种原因被局部变量忽略


Facebook PHP API constructor - is local variable ignored for a reason?

警告:我不是一个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。