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

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

Aug 27, 2019 pm 02:13 PM
composer

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"
        }
    }
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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
 >
Nach dem Login kopieren

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

$ composer repo:use phpcomposer
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Verbesserung der Serialisierungseffizienz der Doktrin: Anwendung von Sidus/Doctrin-Serializer-Bundle Verbesserung der Serialisierungseffizienz der Doktrin: Anwendung von Sidus/Doctrin-Serializer-Bundle Apr 18, 2025 am 11:42 AM

Ich hatte ein schwieriges Problem, wenn ich an einem Projekt mit einer großen Anzahl von Leitungseinheiten arbeitete: Jedes Mal, wenn das Unternehmen serialisiert und deserialisiert wird, wird die Leistung sehr ineffizient, was zu einer signifikanten Zunahme der Systemantwortzeit führt. Ich habe mehrere Optimierungsmethoden ausprobiert, aber es funktioniert nicht gut. Glücklicherweise habe ich durch die Verwendung von Sidus/Doctrine-Serializer-Bunde dieses Problem erfolgreich gelöst und die Leistung des Projekts erheblich verbessert.

Lösen Lösen Apr 18, 2025 am 09:24 AM

Bei der Entwicklung von Websites mit CraftCMS stoßen Sie häufig mit Ressourcendateiproblemen, insbesondere wenn Sie häufig CSS und JavaScript -Dateien aktualisieren, alte Versionen von Dateien möglicherweise weiterhin vom Browser zwischengespeichert. Dieses Problem wirkt sich nicht nur auf die Benutzererfahrung aus, sondern erhöht auch die Schwierigkeit der Entwicklung und des Debuggens. Kürzlich habe ich in meinem Projekt ähnliche Probleme gestoßen, und nach einigen Erkundungen fand ich das Plugin Wiejeben/Craft-Laravel-Mix, das mein Caching-Problem perfekt löste.

Verwenden Sie den Komponisten, um das Dilemma von Empfehlungssystemen zu lösen: Andres-Montanez/Empfehlungen-Bundle Verwenden Sie den Komponisten, um das Dilemma von Empfehlungssystemen zu lösen: Andres-Montanez/Empfehlungen-Bundle Apr 18, 2025 am 11:48 AM

Bei der Entwicklung einer E-Commerce-Website habe ich auf ein schwieriges Problem gestoßen: So liefern Sie den Benutzern personalisierte Produktempfehlungen. Anfangs habe ich einige einfache Empfehlungsalgorithmen ausprobiert, aber die Ergebnisse waren nicht ideal und die Benutzerzufriedenheit war ebenfalls betroffen. Um die Genauigkeit und Effizienz des Empfehlungssystems zu verbessern, habe ich mich entschlossen, eine professionellere Lösung zu übernehmen. Schließlich habe ich Andres-Montanez/Empfehlungen durch den Komponisten installiert, was nicht nur mein Problem löste, sondern auch die Leistung des Empfehlungssystems erheblich verbesserte. Sie können Komponist über die folgende Adresse lernen:

So erstellen Sie schnell Fecmall Advanced Project Templates mit Composer So erstellen Sie schnell Fecmall Advanced Project Templates mit Composer Apr 18, 2025 am 11:45 AM

Bei der Entwicklung einer E-Commerce-Plattform ist es entscheidend, das richtige Framework und Werkzeuge auszuwählen. Kürzlich, als ich versuchte, eine featurereiche E-Commerce-Website aufzubauen, stieß ich auf ein schwieriges Problem: wie ich schnell eine skalierbare und voll funktionsfähige E-Commerce-Plattform erstellen kann. Ich habe mehrere Lösungen ausprobiert und am Ende die erweiterte Projektvorlage von FecMall (FECMALL/FBBCBASE-APP-APMANCED) ausgewählt. Durch die Verwendung von Komponisten wird dieser Prozess sehr einfach und effizient. Komponist kann über die folgende Adresse gelernt werden: Lernadresse

Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von Laravel Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von Laravel Apr 18, 2025 pm 01:00 PM

Das Laravel-Framework verfügt über integrierte Methoden, um die Versionsnummer einfach zu sehen, um die verschiedenen Anforderungen der Entwickler zu erfüllen. In diesem Artikel werden diese Methoden untersucht, einschließlich der Verwendung des Befehlszeilen -Tools des Composers, der Zugriff auf .Env -Dateien oder das Erhalten von Versionsinformationen über PHP -Code. Diese Methoden sind für die Aufrechterhaltung und Verwaltung der Versionierung von Laravel -Anwendungen von wesentlicher Bedeutung.

So verwenden Sie Komponist, um die Sicherheit von Laravel-Anwendungen zu verbessern: Anwendungen der Wahrbenieuwenhuis/Laravel-2FA-Bibliothek So verwenden Sie Komponist, um die Sicherheit von Laravel-Anwendungen zu verbessern: Anwendungen der Wahrbenieuwenhuis/Laravel-2FA-Bibliothek Apr 18, 2025 am 11:36 AM

Bei der Entwicklung einer Laravel -Anwendung habe ich auf ein gemeinsames, aber schwieriges Problem gestoßen: wie die Sicherheit von Benutzerkonten verbessert werden kann. Mit der zunehmenden Komplexität von Cyber ​​-Angriffen reicht ein einzelner Kennwortschutz nicht mehr aus, um die Sicherheit der Benutzerdaten zu gewährleisten. Ich habe verschiedene Methoden ausprobiert, aber die Ergebnisse waren nicht zufriedenstellend. Schließlich installierte ich die WiebenieUwenhuis/Laravel-2FA-Bibliothek über Komponist und fügte meiner Anwendung erfolgreich die Zwei-Faktor-Authentifizierung (2FA) hinzu, wodurch die Sicherheit erheblich verbessert wurde.

So verwenden Sie Komponist, um Probleme bei der Überprüfung von JSON -Schema zu beheben So verwenden Sie Komponist, um Probleme bei der Überprüfung von JSON -Schema zu beheben Apr 18, 2025 am 11:51 AM

Ich habe ein schwieriges Problem bei der Entwicklung einer symfonybasierten Anwendung: So validieren Sie das JSON-Datenformat effektiv. Anfangs habe ich versucht, den manuellen Verifizierungscode zu verwenden, aber dies war nicht nur kompliziert, sondern auch fehleranfällige. Nach einiger Exploration entdeckte ich ein Komponistenpaket namens Ptyhard/JSON-Schema-Bundle, das meinem Projekt große Bequemlichkeit und Effizienz brachte.

See all articles