方法getUserFromAvailableData不存在


Method getUserFromAvailableData does not exist

我正在尝试设置一个系统,如果用户已经在另一个选项卡中连接到facebook,则可以自动登录到我的网站,我从Zend Framework收到了以下错误消息:

Message: Method "getUserFromAvailableData" does not exist and was not trapped in __call() 

我已经从下载了Facebook php APIhttps://github.com/facebook/facebook-php-sdk并将其上传到我的服务器上,该方法确实存在,位于base-facebook.php文件的第463行。这里是我调用API的地方,如果它有任何不同的话。

require_once(BASE_PATH . "/library/facebook-php/src/facebook.php");
$fbid = Facebook::getUser();

是什么原因导致了这个错误?我是不是做错了什么?

在getUser函数的开发人员网站页面上,他们将该方法显示为静态方法。它们使用标题Facebook::getUser(),但如果你查看base-facebook.php中的源代码,你会发现这一行:

return $this->user = $this->getUserFromAvailableData();

尽管他们在文档中显示它是静态的,或者至少让它看起来像静态的,但你可以在这里看到,它实际上依赖于首先有一个facebook实例,它在我的代码中找不到方法的原因是我没有创建一个。我一创建了一个facebook实例,错误消息就消失了。