如何使用'使用'使用IF语句中的Composer自动加载

时间:2018-04-15 14:03:37

标签: php composer-php

我正在尝试使用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 \Firebase\JWT\JWT;

// create json-web-token (JWT)
$jwt = JWT::encode($payload, $secret_key);
}

但是,我不断收到此错误:解析错误:语法错误,意外'使用' (T_USE)

我该如何解决这个问题?

被修改 所以我编辑了我的问题。我最初的问题最初没有反映出“如果'阻止,但现在我已经更新了我的问题以反映这一点。所以问题在于'使用'必须在文件的最外层范围内声明(全局范围)。我把它写下来让人们知道最初的问题是什么。无论如何,感谢所有试图帮助解决我的问题的人。

1 个答案:

答案 0 :(得分:0)

因此导致错误的问题是'使用'在'内部'块。这是因为'使用'在编译时进行导入而不是运行时,因此它不能是块作用域。

TimeManager timeManager = TimeManager.getInstance();
 // Use 24-hour time
 timeManager.setTimeFormat(TimeManager.FORMAT_24);

 // Set clock time to noon
 Calendar calendar = Calendar.getInstance();
 calendar.set(Calendar.MILLISECOND, 0);
 calendar.set(Calendar.SECOND, 0);
 calendar.set(Calendar.MINUTE, 0);
 calendar.set(Calendar.HOUR_OF_DAY, 12);
 long timeStamp = calendar.getTimeInMillis();
 timeManager.setTime(timeStamp);