php - 使用 Composer 时如何从供应商文件夹中调用类?

标签 php jwt php-jwt

我正在调查此链接中的 jwt token 示例 - https://github.com/firebase/php-jwt

所以我跑:

composer require firebase/php-jwt

现在我的网站根目录中有新文件和文件夹:vendor、composer.json 和composer.lock。文件夹“vendor”内容为“firebase/php-jwt”文件夹。

所以我尝试在我的根站点文件夹(例如 test.php)中运行一个示例脚本,内容如下:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
use Firebase\JWT\JWT;

$key = "example_key";
$payload = array(
    "iss" => "http://example.org",
    "aud" => "http://example.com",
    "iat" => 1356999524,
    "nbf" => 1357000000
);

/**
 * IMPORTANT:
 * You must specify supported algorithms for your application. See
 * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
 * for a list of spec-compliant algorithms.
 */
$jwt = JWT::encode($payload, $key);
$decoded = JWT::decode($jwt, $key, array('HS256'));

print_r($decoded);



$decoded_array = (array) $decoded;


JWT::$leeway = 60; // $leeway in seconds
$decoded = JWT::decode($jwt, $key, array('HS256'));
?>

当我运行它时,我看到:

Fatal error: Uncaught Error: Class 'Firebase\JWT\JWT' not found in /var/www/html/jwt/test.php:20 Stack trace: #0 {main} thrown in /var/www/html/jwt/test.php on line 20

那么我该如何使用 Firebase\JWT\JWT 类呢?

最佳答案

来自 Composer 的Autoloading页面:

对于指定自动加载信息的库,Composer 会生成一个供应商/autoload.php 文件。您可以包含此文件并开始使用这些库提供的类,而无需任何额外的工作:

require __DIR__ . '/vendor/autoload.php';

关于php - 使用 Composer 时如何从供应商文件夹中调用类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69798188/

相关文章:

php - 我如何从 Zend Framework 的 Zend_Locale 中获取元区域列表?

rest - 为什么Spring Security REST插件与JDK 1.6不兼容?

Apple Store Connect 的 Python JSON Web token (JWT)GET 请求 401 错误

java - 为什么我的 token 被拒绝?什么是资源 ID? "Invalid token does not contain resource id (oauth2-resource)"

php - 如何从 JWK key 集中选择有效 key 进行苹果登录 token 验证?

php - 在 php 中为 Apple api 生成 JWT token

php - 表单有时仅有效(PHP mySQL)

php - WordPress 输出消息

javascript - ooyala 嵌入代码未在模式中填充视频