ホームページ >開発ツール >composer >Composer ソース管理ツール CRM を Composer プラグインにリファクタリングする方法

Composer ソース管理ツール CRM を Composer プラグインにリファクタリングする方法

藏色散人
藏色散人転載
2020-02-26 15:03:272212ブラウズ

Composer ソース管理ツール CRM を Composer プラグインにリファクタリングする方法

CRM は、composer ソースを管理するために私がずっと前に作成したコマンド ライン ツールです。シンプルなコマンドを使用して管理するように設計されています。複数のソースを管理しやすいようにチャイナミラー切り替え;

当時はコンポーザープラグインのことをあまり知らなかったので、比較的大雑把な方法でした。ソースを切り替えるという目的を達成するためのcomposerコマンドで、Linux上で使用されました。幸いなことに特別な認識はほとんどありませんが、勝利は少し鈍くなります。これも当たり前のことですが、結局切り替え時は複数のコマンドを同時に実行するのと同じことになります; その後、仕事の機会でコンポーザープラグインの開発について知ったので、リファクタリングが登場;

with 1.x バージョンと比較して、2.x では主に次の変更点があります:

メタデータの保存場所の変更

1.x バージョンでは、ユーザーのホーム フォルダーの下にあります。カスタマイズされたファイルで、すべてのユーザー操作は最終的にこの json ファイルに保存されます。新しいバージョンでは、コンポーザー グローバル パスの下の config.json にメタデータが保存されます:

{
    "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"
        }
    }
}

これは、composer によって管理されています。私たちはファイルを借りて、その中のフィールドを占有しました。これは、コンポーザーのエコシステムとより一致しています。

コマンドの変更

1.x バージョンは独立したエントリ アプリケーションであり、コマンドはすべて crm ls; などの crm キーワードで始まります。新しいバージョン プラグインでは、crm がコマンド プロバイダーの役割になるため、新しいバージョンでは、composer エントリを使用します;

新しいバージョンの使用法

利用可能なすべてのイメージをリストします

$ 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

マーク「*」は現在使用中のソースを示します;

ミラーの切り替え

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

ミラー名を直接追加して選択をスキップすることもできます

$ composer repo:use phpcomposer

オプションを追加- -current/-c は、現在のプロジェクトのソースを切り替えます。デフォルトでは、グローバル ソースが変更されます。

すべてのコマンド

表示するには次のコマンドを実行します

$ composer repo

概要

使用方法の変更に加えて、新しいバージョンでの最も重要な改善点速度が向上する可能性があります; ご質問がある場合は、フィードバックをお送りください。投稿の下にメッセージを残すか、github の問題に投稿することができます。

この小さなツールがすべての人の仕事や開発に利便性をもたらすことを願っています。

プログラミング関連のコンテンツの詳細については、php 中国語 Web サイトの プログラミング入門 列に注目してください。

以上がComposer ソース管理ツール CRM を Composer プラグインにリファクタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。