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

次のコラム composer 使用法チュートリアル では、Composer ソース管理ツール CRM を 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 サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
作曲家の専門知識:誰かを熟練させるもの作曲家の専門知識:誰かを熟練させるものApr 11, 2025 pm 12:41 PM

作曲家を使用するときに熟練するには、次のスキルをマスターする必要があります。1。composer.jsonとcomposer.lockファイルを使用するのに熟練している必要があります。2。作曲家の仕組み、3。マスターコンポーザーのコマンドラインツール、4。基本的および高度な使用法を理解します。

作曲家は何をしていますか?作曲家は何をしていますか?Apr 08, 2025 am 12:19 AM

Composerは、PHPの依存関係管理ツールであり、プロジェクトの依存関係を宣言、ダウンロード、管理するために使用されます。 1)Composer.jsonファイルを介して依存関係を宣言します。2)ComposerInstallコマンドを使用して依存関係をインストールし、3)依存関係ツリーを解析し、Packagistからダウンロードします。4)Autoload.phpファイルを生成して自動荷重を簡素化します。

App Composerとは何ですか?App Composerとは何ですか?Apr 07, 2025 am 12:07 AM

AppComposerは、アプリケーションを構築および管理するためのツールです。 1)事前定義されたコンポーネントをドラッグして構成することにより、アプリケーションの開発を簡素化し、効率を向上させます。 2)開発者は、コンポーネントを定義し、インターフェイスを組み合わせ、ビジネスロジックを定義し、最終的にアプリケーションをレンダリングできます。 3)タスク管理や条件付きレンダリングなど、基本的および高度な使用法をサポートし、柔軟なアプリケーションの構築に役立ちます。

作曲家は何に使用されていますか?作曲家は何に使用されていますか?Apr 06, 2025 am 12:02 AM

作曲家は、PHPの依存関係管理ツールです。 Composerを使用するコアステップは次のとおりです。1)「Stripe/Stripe-PHP」などのComposer.jsonの依存関係を宣言:「^7.0」; 2)ComposerInStallを実行して、依存関係をダウンロードおよび構成します。 3)Composer.LockおよびAutoload.phpを介してバージョンとオートロードを管理します。 Composerは依存関係管理を簡素化し、プロジェクトの効率と保守性を向上させます。

作曲家AIとは何ですか?作曲家AIとは何ですか?Apr 05, 2025 am 12:13 AM

Composeraiは、開発効率と品質を改善するためにコードを生成および最適化するための人工知能ベースのツールです。その機能には次のものが含まれます。1。コード生成:要件に応じて標準を満たすコードスニペットを生成します。 2。コード最適化:既存のコードを分析することにより、最適化の提案を行います。 3。自動テスト:テストケースを生成して、コードの品質を確保します。

AndroidのComposerとは何ですか?AndroidのComposerとは何ですか?Apr 04, 2025 am 12:18 AM

ComposerはAndroidのSurfaceFlingerサービスの一部であり、最終的なディスプレイバッファーに複数のグラフィックスレイヤーを合成する責任があります。 1)グラフィックレイヤーを収集し、2)グラフィックレイヤーを並べ替え、3)グラフィックレイヤーを合成し、4)ディスプレイデバイスへの出力を使用して、アプリケーションのパフォーマンスとユーザーエクスペリエンスを向上させます。

作曲家の定義は何ですか?作曲家の定義は何ですか?Apr 03, 2025 am 12:17 AM

作曲家は、音楽を作り、感情を表現し、物語を語り、音楽を通してアイデアを伝える人々です。作曲家の作品には次のものが含まれます。1。概念:作品のテーマとスタイルを決定します。 2。作成:メロディーとハーモニーを作曲して、予備的な音楽構造を形成します。 3。実験:機器またはソフトウェアを介した作業のオーディションと調整。 4。改善:満足するまで、オーディションの結果に従って変更および改善します。

作曲家とオーケストレーターの違いは何ですか?作曲家とオーケストレーターの違いは何ですか?Apr 02, 2025 pm 02:49 PM

作曲家はPHPプロジェクトの依存関係を管理するために使用されますが、オーケストレーターはマイクロサービスまたはコンテナ化されたアプリケーションを管理および調整するために使用されます。 1.Composer.jsonファイルを介してPHPプロジェクトの依存関係を宣言および管理します。 2。Orchestratorは、構成ファイル(KubernetesのYAMLファイルなど)を介してサービスの展開と拡張を管理し、高可用性と負荷分散を確保します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター