使用作曲家时如何从供应商文件夹中调用 class?
How to call a class from vendor folder when using a composer?
我正在调查此 link - https://github.com/firebase/php-jwt
中的 jwt 令牌示例
所以我运行:
composer require firebase/php-jwt
现在我的站点根目录中有新文件和文件夹:vendor、composer.json 和 composer.lock。文件夹“供应商”内容“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
那么我怎样才能使用 class Firebase\JWT\JWT 呢?
来自作曲家的 Autoloading 页面:
"对于指定自动加载信息的库,Composer 会生成一个 vendor/autoload.php 文件。您可以包含此文件并开始使用那些 类图书馆提供没有任何额外的工作:"
require __DIR__ . '/vendor/autoload.php';
我正在调查此 link - https://github.com/firebase/php-jwt
中的 jwt 令牌示例所以我运行:
composer require firebase/php-jwt
现在我的站点根目录中有新文件和文件夹:vendor、composer.json 和 composer.lock。文件夹“供应商”内容“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
那么我怎样才能使用 class Firebase\JWT\JWT 呢?
来自作曲家的 Autoloading 页面:
"对于指定自动加载信息的库,Composer 会生成一个 vendor/autoload.php 文件。您可以包含此文件并开始使用那些 类图书馆提供没有任何额外的工作:"
require __DIR__ . '/vendor/autoload.php';