我失去了我的晚上,我觉得我需要其他人来检查这一点,我可能完全失明了。
define('FACEBOOK_SDK_V4_SRC_DIR', '/var/www/rateanything/facebook-sdk/src/Facebook');
require('/var/www/rateanything/facebook-sdk/autoload.php');
use Facebook;
FacebookSession::setDefaultApplication('my_app_id', 'my_app_secret');
$session = new FacebookSession($fbtoken);
$request = new FacebookRequest($session,'GET','/me?fields=email,name,gender');
为什么这不重复:因为那个问题没有这个错误。我收到了这个解析错误。
我使用PHP 5.4。
答案 0 :(得分:13)
该代码是否包含在函数中? use关键字只能应用于文件的最外层范围。
基本上,将use Facebook;
移到文件的顶部。
或者,您可以引用定义FacebookSession
和FacebookRequest
的命名空间。像这样:
define('FACEBOOK_SDK_V4_SRC_DIR', '/var/www/rateanything/facebook-sdk/src/Facebook');
require('/var/www/rateanything/facebook-sdk/autoload.php');
Facebook\FacebookSession::setDefaultApplication('my_app_id', 'my_app_secret');
$session = new Facebook\FacebookSession($fbtoken);
$request = new Facebook\FacebookRequest($session,'GET','/me?fields=email,name,gender');
答案 1 :(得分:0)
因此基于错误,这是问题行
use Facebook;
不知道其中包含哪些内容很难说,但它看起来并不像是在混淆任何东西。事实上,如果您进行自动加载(这似乎是一个安全的赌注),您就不应该使用这样的别名。
通常你会像这样使用它
include 'facebook.php';
use Facebook;
\Facebook\SomeClass::staticFunction($var);
$class = new \Facebook\OtherClass();
查看the manual了解有关如何使用use