Heim >Entwicklungswerkzeuge >composer >codeigniter3 integriert Composer-Verwaltungstools, ein eleganterer Ansatz

codeigniter3 integriert Composer-Verwaltungstools, ein eleganterer Ansatz

藏色散人
藏色散人nach vorne
2019-10-01 13:57:472844Durchsuche

Vorwort, ich hoffe, dass Codeigniter4 bald veröffentlicht wird. Was soll ich tun, wenn ich so viele hervorragende Bibliotheken von Drittanbietern auf Github verwenden möchte? Darüber hinaus werden diese Bibliotheken grundsätzlich über Composer installiert. In der Spalte Composer-Tutorial erfahren Sie, wie Sie den Composer-Paketmanager integrieren:

codeigniter3 integriert Composer-Verwaltungstools, ein eleganterer Ansatz

1. Installieren Sie Composer, worauf ich hier nicht näher eingehen werde.

2. Erstellen Sie eine neue Composer.json-Datei im Projektstammverzeichnis. Ich möchte jetzt beispielsweise eine JWT-Bibliothek in CI verwenden

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

3. Dieses Verzeichnis über die Befehlszeile ausführen: Composer-Installation

oder die oben genannten 2 Schritte können zu folgendem Schritt vereinfacht werden:

composer require firebase/php-jwt

4. Lass uns Starten Sie die formale Integration in ci. Hier sind 2 Methoden:

Methode 1: Einfach und grob (nicht empfohlen)

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

Methode 2: Elegant (empfohlen)

Erstellen Sie einen neuen MY_Composer in application/libraries

<?php
/**
 * 关于MY_Composer的注释
 *
 * @author 新猪
 */
class MY_Composer 
{
    function __construct() 
    {
        include("./vendor/autoload.php");
    }
}

Ändern Sie dann

$autoload[&#39;libraries&#39;] = array(&#39;MY_Composer&#39;,&#39;database&#39;,&#39;session&#39;);

in config/autoload.php 5. Verwenden Sie

<?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(&#39;HS256&#39;));
        print_r($decoded);
    }
}

. Ich hoffe, es wird für alle hilfreich sein.

Das obige ist der detaillierte Inhalt voncodeigniter3 integriert Composer-Verwaltungstools, ein eleganterer Ansatz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen