CodeIgniter不能使用PHP的命名空间

时间:2017-09-19 11:39:43

标签: php jwt codeigniter-3

我正在firebase/php-jwt尝试使用CodeIgniter 3,但我收到此错误:

  

解析错误:语法错误,第23行/opt/lampp/htdocs/kpittu_api/application/controllers/User.php中的意外“使用”(T_USE)

这是我的代码:

  require('vendor/autoload.php');
  use \Firebase\JWT\JWT;
  $key = "example_key";
  $payload = array(
    "iat" => time(),
    "exp" => time() + 86400,
    "data" => [
      "login" => "sii1995",
      "fname" => "Salim",
      "sname" => "Ibrogimovich",
      "lname" => "Ibrogimov"
    ]
  );
  $jwt = JWT::encode($payload, $key);
  $decoded = JWT::decode($jwt, $key, array('HS256'));
  $decoded_array = (array) $decoded;
  /*
  JWT::$leeway = 60; // $leeway in seconds
  $decoded = JWT::decode($jwt, $key, array('HS256'));
  */

  echo '<pre>';
  print_r($jwt);
  echo '<hr>';
  print_r($decoded_array);
  echo '</pre>';

当我在CodeIgniter之外使用此代码时,它运行良好。 如何在namespace中使用use / CodeIgniter个关键字?

1 个答案:

答案 0 :(得分:1)

亲爱的朋友们,我解决了这个问题:我只需将这两行放在class声明之上:

require('vendor/autoload.php');
use \Firebase\JWT\JWT;

class User extends CI_Controller {