前言,希望codeigniter4早點發(fā)布吧,目前還有項目用的codeigniter3,想用github上那么多優(yōu)秀的第三方庫,曾怎么辦呢?而且這些庫基本都是通過composer安裝的,下面介紹集成composer包管理器方法:
1、安裝composer,這點不贅述了。
2、項目根目錄新建composer.json文件,比如我現(xiàn)在ci中要使用一個jwt庫
{ "require": { "firebase/php-jwt": "*" } }
3、該目錄下命令行執(zhí)行:composer install
或者上面2個步驟,簡化成下面這步也可以
composer require firebase/php-jwt
4、下面開始正式集成到ci,這里有2個方法:
方法一:簡單粗暴的(不推薦)
require_once './vendor/autoload.php'; //上面這一行添加到index.php的這個位置 require_once BASEPATH.'core/CodeIgniter.php';
方法二:優(yōu)雅的(推薦)
application/libraries新建MY_Composer.php
<?php /** * 關(guān)于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); } }
完畢,希望對大家有所幫助。