函数中的use语句出现不清楚的语法错误


Unclear syntax error with use statement in function

我试图用DropBox API实现一个web应用程序。。。

在这部分代码中:

[…]

require_once "dropbox/lib/Dropbox/autoload.php"; 
use 'Dropbox as dbx;    
$appInfo = dbx'AppInfo::loadFromJsonFile("app_info.json");

[…]

我在第二行中得到一个语法错误:"语法错误,意外的‘use’(T_use)"我在我的项目中从其他地方复制了这个代码。。。它在那里工作。。。我不明白这里发生了什么!我已经尝试了所有的,每种组合,但我看不出问题!

AFAIK使用语句必须先执行:

use 'Dropbox as dbx;        
require_once "dropbox/lib/Dropbox/autoload.php"; 
$appInfo = dbx'AppInfo::loadFromJsonFile("app_info.json");

考虑到语法错误,看起来你试图在函数声明中use(或者可能在类定义中,尽管根据你的PHP版本是否支持traits,错误可能会有所不同。)

根据PHP手册:

use关键字必须在文件的最外层范围(全局范围)或命名空间声明内部声明。