Heim  >  Artikel  >  Entwicklungswerkzeuge  >  So wandeln Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in um

So wandeln Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in um

藏色散人
藏色散人nach vorne
2020-02-26 15:03:272032Durchsuche

So wandeln Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in um

CRM ist ein Befehlszeilentool, das ich vor langer Zeit erstellt habe, um Composer-Quellen zu verwalten Mehrere Quellen. Um sie bequem zu verwalten, wusste ich zu diesem Zeitpunkt noch nicht viel über das Composer-Plugin, daher war die Ausführung der untersten Ebene relativ schwierig Der Composer-Befehl dient zum Erreichen des Zwecks des Quellenwechsels und wurde unter Linux verwendet. Glücklicherweise gibt es fast keine besondere Wahrnehmung, aber der Gewinn wird etwas schleppend sein. Dies ist auch offensichtlich, denn das Umschalten ist gleichbedeutend mit der gleichzeitigen Ausführung mehrerer Befehle. Aufgrund der Gelegenheit erfuhr ich später von der Entwicklung des Composer-Plug-Ins und der Idee des Refactorings kam auf;

und 1.x Im Vergleich zur Vorgängerversion weist 2.x hauptsächlich die folgenden Änderungen auf:

Der Speicherort der Metadaten hat sich geändert

In Version 1.x befindet es sich im Home-Ordner des Benutzers. Eine benutzerdefinierte Datei. Alle Benutzervorgänge werden letztendlich in dieser JSON-Datei gespeichert. Die neue Version speichert Metadaten in config.json unter dem globalen Composer-Pfad:

{
    "config": {
        "_alias": {
            "val": "validate",
            "up": "update",
            "req-sf": "require symfony/event-dispatcher symfony/console",
            "req": "require",
            "i": "install"
        },
        "_repositories": [{
                "name": "composer",
                "url": "https://packagist.org",
                "homepage": "",
                "author": ""
            }, {
                "name": "phpcomposer",
                "url": "https://packagist.phpcomposer.com",
                "homepage": "",
                "author": ""
            }, {
                "name": "composer-proxy",
                "url": "https://packagist.composer-proxy.org",
                "homepage": "",
                "author": ""
            }, {
                "name": "laravel-china",
                "url": "https://packagist.laravel-china.org",
                "homepage": "",
                "author": ""
            }]
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.laravel-china.org"
        }
    }
}

Dies wird vom Komponisten gepflegt. Wir haben uns eine Datei ausgeliehen und ein Feld darin belegt. Dies entspricht auch eher dem Composer-Ökosystem

Befehlsänderungen

Die 1.x-Version ist eine unabhängige Eingabeanwendung, und alle Befehle beginnen mit dem Schlüsselwort crm, z. B. crm ls; In der neuen Version wird CRM zu einer Befehlsanbieterrolle, daher verwenden wir in der neuen Version den Composer-Eintrag

Nutzung der neuen Version

Alle verfügbaren Bilder auflisten

$ composer repo:ls
  composer       https://packagist.org
  phpcomposer    https://packagist.phpcomposer.com
* composer-proxy https://packagist.composer-proxy.org
  laravel-china  https://packagist.laravel-china.org

Markiert mit „*“ zeigt die aktuell verwendete Quelle an;

Spiegel wechseln

$ composer repo:use
Please select your favorite registry (defaults to composer)
  [0] composer
  [1] phpcomposer
  [2] composer-proxy
  [3] laravel-china
 >

Sie können den Spiegelnamen auch direkt anhängen, um die Auswahl zu überspringen

$ composer repo:use phpcomposer

Hinzufügen option- -current/-c schaltet die Quelle für das aktuelle Projekt um. Standardmäßig wird die globale Quelle geändert.

Alle Befehle

Führen Sie den folgenden Befehl aus, um anzuzeigen

$ composer repo

Zusammenfassung

Neben den Änderungen in der Verwendung die bedeutendste Verbesserung in der neuen Version Wenn Sie Fragen haben, können Sie gerne eine Nachricht unter dem Beitrag hinterlassen oder auf GitHub posten.

Ich hoffe, dass dieses kleine Tool jedem bei seiner Arbeit und Entwicklung Erleichterung bringt.

Weitere Inhalte zum Thema Programmierung finden Sie in der Spalte

Einführung in die Programmierung

auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonSo wandeln Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in um. 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