Codeigniter,如何将第三方文件夹中的jwt库与模型结合使用?

时间:2016-12-21 15:17:37

标签: php codeigniter jwt

我遇到了一个难题。

我已经使用composer在我的third_party文件夹中安装了https://github.com/firebase/php-jwt这个库。

如何利用某些参数从模型或控制器中使用array_of_expressions.reduce(&:&)

例如,我想从控制器调用JWT::encode模型,然后在该JWT库中加载该模型。我搜索了这么多,但似乎我的PHP知识有限。

1 个答案:

答案 0 :(得分:1)

好的解决了。

您要做的是安装third_party库。 将其自动加载到库文件夹中的新文件中,如下所示。

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
{
        require_once(APPPATH . 'third_party/firebase-jwt/vendor/autoload.php');
        require_once(APPPATH . 'third_party/firebase-jwt/start.php');

}
class Firebasetoken { 
   function __construct($permissions = false) {

    $this->codeigniter_instance =& get_instance();
    $this->theToken = buildToken($permissions);
}

function get_firebase_token(){
    return $this->theToken;
}

在你的start.php加载中,因为命名空间和CI显然不能很好地发挥作用。

  <?php

    require_once 'jwt/src/BeforeValidException.php';
    require_once 'jwt/src/ExpiredException.php';
    require_once 'jwt/src/SignatureInvalidException.php';
    require_once 'jwt/src/JWT.php';

    use Firebase\JWT\JWT;
    function buildToken($permissions){
        //add example from jwt lib in here
    }

然后这样称呼它。

$this->load->library('FirebaseToken', $permissions);
$token = $this->firebasetoken->get_firebase_token();

瞧。 希望它节省了一些时间。