codeigniter3集成composer管理工具,比較優雅的作法

前言,但願codeigniter4早點發布吧,目前還有項目用的codeigniter3,想用github上那麼多優秀的第三方庫,曾怎麼辦呢?並且這些庫基本都是經過composer安裝的,下面介紹集成composer包管理器方法:php

一、安裝composer,這點不贅述了。git

二、項目根目錄新建composer.json文件,好比我如今ci中要使用一個jwt庫github

{
  "require": {
    "firebase/php-jwt": "*"
  }
}

三、該目錄下命令行執行:composer install
或者上面2個步驟,簡化成下面這步也能夠
composer require firebase/php-jwtjson

四、下面開始正式集成到ci,這裏有2個方法:session

方法一:簡單粗暴的(不推薦)app

require_once './vendor/autoload.php';
//上面這一行添加到index.php的這個位置
require_once BASEPATH.'core/CodeIgniter.php';

方法二:優雅的(推薦)
application/libraries新建MY_Composer.phpcomposer

<?php
/**
 * 關於MY_Composer的註釋
 *
 * @author 新豬
 */
class MY_Composer 
{
    function __construct() 
    {
        include("./vendor/autoload.php");
    }
}

而後在config/autoload.php修改codeigniter

$autoload['libraries'] = array('MY_Composer','database','session');

五、使用ui

<?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);
    }
}

完畢,但願對你們有所幫助。命令行

相關文章
相關標籤/搜索