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ändertIn 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 Programmierungauf 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!