Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Refaktorieren Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in

Refaktorieren Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in

藏色散人
藏色散人nach vorne
2019-08-27 14:13:463158Durchsuche

In der folgenden Spalte des Tutorials zur Composer-Nutzung wird erklärt, wie man das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in umwandelt. Ich hoffe, dass es für Freunde in Not hilfreich sein wird !

Refaktorieren Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in

CRM ist ein Befehlszeilentool, das ich vor langer Zeit zum Verwalten von Composer-Quellen erstellt habe und das zum Wechseln zwischen mehreren chinesischen Spiegeln mit einfachen Befehlen entwickelt wurde um sie bequem zu verwalten;

Zu diesem Zeitpunkt wusste ich nicht viel über das Composer-Plug-In, daher war die Methode relativ grob. Die unterste Ebene führte den Composer-Befehl aus, um den Zweck des Quellenwechsels zu erreichen Die Verwendung unter Linux war fast in Ordnung. Es gibt 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 zu Version 2.x weist 2.x hauptsächlich die folgenden Änderungen auf:

Der Speicherort der Metadaten ändert sich

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

Änderungen bei Befehlen

Die 1.x-Version ist eine unabhängige Eingabeanwendung, und die Befehle beginnen alle mit dem CRM Schlüsselwort, wie crm ls Und so weiter; in der neuen Version des Plug-ins wird crm zu einer Befehlsanbieterrolle, daher verwenden wir in der neuen Version den Composer-Eingang

Nutzung der neuen Version

Alle verfügbaren Spiegel 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

Mit „*“ markiert 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 Bildnamen auch direkt anhängen, um die Auswahl zu überspringen.

$ composer repo:use phpcomposer

Fügen Sie die Option --current/-c hinzu, um die Quelle für das aktuelle Projekt zu ändern. Standardmäßig wird die globale Änderung vorgenommen Quelle.

Alle Befehle

Führen Sie den folgenden Befehl aus, um

$ composer repo
/  ___| |  _  \      /   |/   |
| |     | |_| |     / /|   /| |
| |     |  _  /    / / |__/ | |
| |___  | | \ \   / /       | |
\_____| |_|  \_\ /_/        |_|
Composer Repository Manager version 2.0.0
Usage:
  command [options] [arguments]
Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands for the "repo" namespace:
  repo:add     Creates a repository
  repo:ls      List all available repositories
  repo:remove  Remove a repository
  repo:use     Change current repository

Zusammenfassung

Zusätzlich zu den Änderungen anzuzeigen Was die Nutzung betrifft, ist die vielleicht bedeutendste Verbesserung in der neuen Version die Geschwindigkeit. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht unter dem Beitrag oder posten Sie einen Beitrag zu Github-Problemen.

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

Anbei finden Sie die Projektadresse: https://github.com/slince/composer-registr...

Das obige ist der detaillierte Inhalt vonRefaktorieren Sie das Composer-Quellverwaltungstool CRM in ein Composer-Plug-in. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Welche Software ist Composer?Nächster Artikel:Welche Software ist Composer?