又一个PHP Parse错误:语法错误,意外“使用”(T_USE)

时间:2015-04-14 18:52:09

标签: php facebook

我失去了我的晚上,我觉得我需要其他人来检查这一点,我可能完全失明了。

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。

2 个答案:

答案 0 :(得分:13)

该代码是否包含在函数中? use关键字只能应用于文件的最外层范围。

基本上,将use Facebook;移到文件的顶部。

或者,您可以引用定义FacebookSessionFacebookRequest的命名空间。像这样:

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

的详细信息和示例