Maison  >  Article  >  outils de développement  >  Refactoriser l'outil de gestion des sources Composer CRM en un plug-in Composer

Refactoriser l'outil de gestion des sources Composer CRM en un plug-in Composer

藏色散人
藏色散人avant
2019-08-27 14:13:463183parcourir

La colonne suivante du tutoriel d'utilisation de Composer expliquera comment reconstruire l'outil de gestion des sources Composer CRM en un plug-in Composer. J'espère que cela sera utile aux amis dans le besoin. !

Refactoriser l'outil de gestion des sources Composer CRM en un plug-in Composer

CRM est un outil de ligne de commande que j'ai créé il y a longtemps pour gérer les sources du compositeur, conçu pour basculer entre plusieurs miroirs chinois avec des commandes simples, donc quant à les gérer facilement ;

À cette époque, je ne connaissais pas grand-chose au plug-in composer, donc la méthode était relativement grossière. La couche inférieure exécutait la commande composer pour atteindre l'objectif de changer de source. . C'était presque correct à utiliser sous Linux. Il n'y a pas de perception particulière, mais la victoire sera un peu lente. C'est également évident. Après tout, changer équivaut à exécuter plusieurs commandes en même temps. Plus tard, grâce à l'opportunité de travail, j'ai découvert le développement du plug-in composer, donc l'idée du refactoring. est apparu ;

et 1.x Par rapport à la version 2.x, 2.x présente principalement les changements suivants :

L'emplacement de stockage des métadonnées change

Dans la version 1.x, il se trouve sous le dossier d'accueil de l'utilisateur. Un fichier personnalisé, toutes les opérations de l'utilisateur sont finalement conservées dans ce fichier json ; la nouvelle version stocke les métadonnées dans config.json sous le chemin global du composer :

{
    "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"
        }
    }
}
<.> Ceci est maintenu par composer Nous avons emprunté un fichier et y avons occupé un champ. Ceci est également plus conforme à l'écosystème composer

Modifications des commandes

La version 1.x est une application d'entrée indépendante, et les commandes commencent toutes par le crm mot-clé, tel que crm ls Et ainsi de suite ; dans la nouvelle version du plug-in, crm devient un rôle de fournisseur de commandes, donc dans la nouvelle version, nous utilisons l'entrée composer

Utilisation de la nouvelle version

Liste de tous les miroirs disponibles

$ 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
Marqué par "*" indique la source actuellement utilisée

Changer de miroir

$ composer repo:use
Please select your favorite registry (defaults to composer)
  [0] composer
  [1] phpcomposer
  [2] composer-proxy
  [3] laravel-china
 >
Vous pouvez également ajouter directement le nom de l'image pour ignorer la sélection
$ composer repo:use phpcomposer

Ajoutez l'option --current/-c pour changer de source pour le projet en cours. La valeur par défaut est de modifier le global. source.

Toutes les commandes

Exécutez la commande suivante pour afficher

$ 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

Résumé

En plus des modifications en termes d'utilisation, l'amélioration la plus significative de la nouvelle version est peut-être la vitesse ; si vous avez des questions, veuillez nous faire part de vos commentaires en laissant un message sous la publication ou en publiant sur les problèmes de github.

J'espère que ce petit outil apportera du confort à chacun dans son travail et son développement.

Ci-joint l'adresse du projet :

https://github.com/slince/composer-registr...

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Quel logiciel est Composer ?Article suivant:Quel logiciel est Composer ?