前言,希望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); } }
完毕,希望对大家有所帮助。