在PHP中使用Facebook sdk4登录

在PHP中使用Facebook sdk4登录,php,facebook,scope,facebook-php-sdk,facebook-sdk-4.0,Php,Facebook,Scope,Facebook Php Sdk,Facebook Sdk 4.0,我碰到了一些关于范围的真正问题。这在很大程度上与我从未使用过PHP名称空间这一事实有关。我看到这样的例子,我可以让它完美地工作。但是由于我建立网站的方式,我使用了很多功能。我想创建一个全局PHP对象,然后从函数中调用它 我从2011年开始使用FacebookAPI完成了这项工作,该api只有Facebook.php、base_Facebook.php和fb_ca_chain_bundle.crt,但我想使用最新版本继续推进 我允许用户通过Facebook或Twitter访问我的网站,因此用户登录

我碰到了一些关于范围的真正问题。这在很大程度上与我从未使用过PHP名称空间这一事实有关。我看到这样的例子,我可以让它完美地工作。但是由于我建立网站的方式,我使用了很多功能。我想创建一个全局PHP对象,然后从函数中调用它

我从2011年开始使用FacebookAPI完成了这项工作,该api只有Facebook.php、base_Facebook.php和fb_ca_chain_bundle.crt,但我想使用最新版本继续推进

我允许用户通过Facebook或Twitter访问我的网站,因此用户登录后,它会检查活动的网站会话,如果找不到,它会检查活动的Facebook会话,然后根据用户数据库进行检查。我在访问时遇到的问题是,我可以在我的基本代码中创建这个会话,但我似乎无法从登录处理函数中访问它

我一直在寻找,但现在我不知道该找什么。如果有人能给我一个如何访问函数中全局初始化的Facebook对象的示例,我可能可以从那里处理其余的问题。

(代表问题作者发布)

这是一个足够简单的解决方案,只是一些我不熟悉的东西。调用对象时,还需要表示名称空间。所以我的使命

new FacebookRequest() - Does Not Work within a function

new Facebook\FacebookRequest() - Does Work

我还需要仔细阅读一下,但至少我有一个可行的解决方案。

新SDK没有登录用户的全局状态。如果你需要它,你需要自己创建它。不过,我遇到的问题是,如果我想在全局范围内初始化它们,即使只是做包含,我也要经历有史以来最艰难的时刻,弄清楚如何从函数中访问它们。例如,由于对象已包含在文档中,$request=new FacebookRequest($fbsession,'GET','/me');--但是我得到了一个错误:“致命错误:找不到类‘FacebookRequest’”——我不明白我缺少了什么,但我相信这与此SDK中使用的名称空间有关,我不熟悉这一点,因为您没有包含FacebookRequest的文件,所以您会得到这个错误