Facebook PHP API конструктор - локальная переменная игнорируется по причине? - PullRequest
0 голосов
/ 03 октября 2011

Предостережение: я ни в коем случае не гуру 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?

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Это не игнорируется. На следующей строке он используется как параметр для empty.

Параметры для empty должны быть переменными ( см. Руководство ), поэтому его используют именно так.

Однако, возможно, они могли бы использовать его и в назначении $this->state. Почему они этого не сделали, я бы не знал.

0 голосов
/ 03 октября 2011

Я думаю, что это упущение со стороны программистов.Он мог и должен был назначить $ state для $ this-> state.

...