我正在尝试使用Composer自动加载Firebase/php-jwt库的路径,该库与我的网页位于不同的目录中。基本上,firebase/php-jwt 库位于以下路径中: www/lib/vendor/firebase/php-jwt/src/JWT.php
,并且尝试访问库的页面位于以下路径中:www/api/test.php
这是我使用 Composer 自动加载库路径的代码
if ($count > 0) {
require '../lib/vendor/autoload.php'; // autoload paths to libraries
// Class from firebase/php-jwt library
use FirebaseJWTJWT;
// create json-web-token (JWT)
$jwt = JWT::encode($payload, $secret_key);
}
但是,我不断收到此错误:解析错误:语法错误,意外的"使用"(T_USE(
我该如何解决这个问题?
编辑所以我编辑了我的问题。我最初的问题最初没有反映"if"块中的代码,但现在我已经更新了我的问题以反映这一点。所以问题是"use"必须在文件的最外层范围(全局范围(中声明。我把这个写下来,以便人们知道最初的问题是什么。无论如何,感谢所有试图帮助解决我问题的人。
因此,导致错误的问题是"if"块中的"使用"。这是因为"use"在编译时而不是运行时进行导入,因此它不能在块范围内进行。
require '../lib/vendor/autoload.php'; // autoload paths to libraries
// Class from firebase/php-jwt library
use FirebaseJWTJWT;
if ($count > 0) {
// create json-web-token (JWT)
$jwt = JWT::encode($payload, $secret_key);
}