>개발 도구 >composer >Composer 소스 관리 도구 CRM을 Composer 플러그인으로 리팩터링

Composer 소스 관리 도구 CRM을 Composer 플러그인으로 리팩터링

藏色散人
藏色散人앞으로
2019-08-27 14:13:463225검색

composer 사용법 튜토리얼의 다음 칼럼에서는 Composer 소스 관리 도구 CRM을 Composer 플러그인으로 재구성하는 방법을 설명하겠습니다. 도움이 필요한 친구에게 도움이 됩니다!

Composer 소스 관리 도구 CRM을 Composer 플러그인으로 리팩터링

CRM 은 간단한 소스 사용을 목표로 작곡가 소스를 관리하기 위해 오래 전에 만든 명령줄 도구입니다. 여러 중국어 미러 사이를 전환하여 쉽게 관리할 수 있는 명령어;

당시에는 작곡가 플러그인에 대해 잘 몰랐기 때문에 하위 레이어에서는 작곡가 명령어를 실행하는 방법이 비교적 엉성했습니다. 소스 전환 목적을 달성하기 위해 Linux에서는 잘 작동하고 특별한 인식이 거의 없지만 Win에서는 약간 느릴 것입니다. 이것은 또한 분명합니다. 전환할 때 동시에 여러 명령을 실행하는 것과 같습니다. 나중에 작업 기회로 인해 작곡가 플러그인 개발에 대해 알게 되었기 때문에 ​​​​리팩토링이 나왔습니다.

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

작곡가가 관리하는 파일입니다. 빌려서 그 안에 한 필드를 차지했습니다. 이는 또한 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

Add 옵션 --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

Summary

를 확인하세요. #🎜 🎜#

새 버전에서 가장 크게 개선된 점은 속도 개선일 것입니다. 질문이 있는 경우 피드백을 제공하거나 게시물 아래에 메시지를 남기거나 github에 게시하세요. 문제. 이 작은 도구가 작업 개발에 참여하는 모든 사람에게 편리함을 가져다주길 바랍니다.

첨부된 프로젝트 주소는 다음과 같습니다:

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

위 내용은 Composer 소스 관리 도구 CRM을 Composer 플러그인으로 리팩터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제