前言,希望codeigniter4早點發布吧,目前還有專案用的codeigniter3,想用github上那麼多優秀的第三方庫,曾怎麼辦呢?而且這些庫基本都是通過composer安裝的,下面介紹整合composer包管理器方法:
1、安裝composer,這點不贅述了。
2、專案根目錄新建composer.json檔案,比如我現在ci中要使用一個jwt庫
{
"require": {
"firebase/php-jwt": "*"
}
}
3、該目錄下命令列執行:composer install
或者上面2個步驟,簡化成下面這步也可以
composer require firebase/php-jwt
4、下面開始正式整合到ci,這裡有2個方法:
方法一:簡單粗暴的(不推薦)
require_once `./vendor/autoload.php`;
//上面這一行新增到index.php的這個位置
require_once BASEPATH.`core/CodeIgniter.php`;
方法二:優雅的(推薦)
application/libraries新建MY_Composer.php
<?php
/**
* 關於MY_Composer的註釋
*
* @author 新豬
*/
class MY_Composer
{
function __construct()
{
include("./vendor/autoload.php");
}
}
然後在config/autoload.php修改
$autoload[`libraries`] = array(`MY_Composer`,`database`,`session`);
5、使用
<?php
use FirebaseJWTJWT;
class TestController extends CI_Controller {
public function index() {
$key = "example_key";
$token = array(
"iss" => "http://example.org",
"aud" => "http://example.com",
"iat" => 1356999524,
"nbf" => 1357000000
);
$jwt = JWT::encode($token, $key);
$decoded = JWT::decode($jwt, $key, array(`HS256`));
print_r($decoded);
}
}
完畢,希望對大家有所幫助。