次のコラム composer 使用法チュートリアル では、Composer ソース管理ツール CRM を Composer プラグインに再構築する方法について説明します。困っている友人の役に立てば幸いです。
CRM は、コンポーザー ソースを管理するために私がずっと前に作成したコマンド ライン ツールです。簡単なコマンドで複数の中国語ミラーを切り替えるように設計されています. を使いやすく管理するため;
当時はコンポーザープラグインのことをあまり知らなかったので比較的大雑把な方法でしたが、最下層は目的を達成するためにコンポーザーコマンドを実行しました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 キーワードで始まります。 crm ls など; 新しいバージョンのプラグインでは、crm はコマンド プロバイダー (コマンド プロバイダー) の役割になるため、新しいバージョンではコンポーザー エントランスを使用します;
新しいバージョン使用法
#利用可能なすべてのミラーのリスト#$ 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 / ___| | _ \ / |/ | | | | |_| | / /| /| | | | | _ / / / |__/ | | | |___ | | \ \ / / | | \_____| |_| \_\ /_/ |_| 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
変更内容に加えて、使用法において、新しいバージョンでの最も重要な改善点は速度かもしれません。ご質問がある場合は、投稿の下にメッセージを残すか、github の問題に投稿して、フィードバックをお寄せください。
この小さなツールがすべての人の仕事や開発に利便性をもたらすことを願っています。
プロジェクトのアドレスを添付します:
https://github.com/slince/composer-registr...以上がComposer ソース管理ツール CRM を Composer プラグインにリファクタリングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。