codeigniter3集成composer管理工具,比较优雅的做法

前言,希望codeigniter4早点发布吧,目前还有项目用的codeigniter3,想用github上那么多优秀的第三方库,那怎么办呢?而且这些库基本都是通过composer安装的,下面由composer教程栏目给大家介绍集成composer包管理器方法:

codeigniter3集成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 \Firebase\JWT\JWT;
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);
    }
}

完毕,希望对大家有所帮助。

以上就是codeigniter3集成composer管理工具,比较优雅的做法的详细内容,更多请关注其它相关文章!