如何在 IF 语句中将'use'与编辑器自动加载一起使用



我正在尝试使用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);
}

相关内容

  • 没有找到相关文章

最新更新