> 개발 도구 > composer > 본문

Composer.json 파일에 대한 자세한 설명

藏色散人
풀어 주다: 2019-08-03 17:11:57
앞으로
12981명이 탐색했습니다.

현재 주류 PHP 프레임워크에서는 모두 작곡가.json이라는 파일을 찾을 수 있습니다. 다음은 컴포저 사용 튜토리얼에서 작곡가.json 파일을 소개합니다. 열. 기능, 속성 및 각 속성의 기능.

Composer.json 파일에 대한 자세한 설명

Function:

composer.json 파일은 현재 프로젝트의 종속성과 종속성에 대한 일부 관련 정보를 정의합니다.

공통 속성 설명:

1: name

은 패키지 이름을 나타냅니다. /

로 구분된 작성자 이름과 프로젝트 이름으로 표시됩니다. 예:

yiisoft/yii2-app-basic

패키지 이름은 공백을 포함한 모든 문자를 포함할 수 있으며 대소문자를 구분하지 않습니다(yiisoft/yii2-app- basic과 Yiisoft/Yii2 -app-basic은 동일한 패키지로 간주됩니다. 설치를 단순화하려면 영숫자가 아닌 문자나 공백을 포함하지 않는 짧은 이름을 정의하는 것이 좋습니다. name 속성은 작곡가.json 파일의 필수 속성입니다.

2: 설명

은 일반적으로 한 줄의 소개입니다.

description 이 속성은 작곡가.json 파일의 필수 속성입니다

3: version

패키지의 버전을 나타냅니다.

버전 형식은 X.Y.Z를 따라야 합니다. vX.Y.Z, 선택적 접미사 -dev, -patch (-p), -alpha ( -a ), -beta ( -b ) 또는 -RC, patch, alpha , beta 및 RC 접미사 뒤에 숫자가 올 수도 있습니다

예:

1.0.0

1.0.0-dev

version 이 속성은 작곡가.json 파일의 필수 속성이 아니며 일반적으로 생략할 수 있습니다.

4: 유형

은 패키지 유형을 나타냅니다. 기본값은 라이브러리입니다.

Composer는 기본적으로 다음 4가지 유형을 지원합니다.

라이브러리: 기본 유형, 공급업체 디렉터리에 파일을 복사하기만 하면 됩니다.

project: 현재 패키지는 라이브러리가 아닌 프로젝트입니다. 예를 들어 Yii 프레임워크에 있는 작곡가.json 파일의 유형 값은 nine-tail project

metapackage입니다. 요구 사항을 포함하고 설치를 트리거하지만 파일을 포함하지 않으며 시스템에 아무 것도 쓰지 않는 빈 패키지입니다. . 따라서 이 유형의 설치에는 dist 또는 소스가 필요하지 않습니다.

composer-plugin: 설치 유형이 Composer-plugin인 패키지입니다.

사용자 정의 유형을 정의할 수도 있습니다. json 파일의 필수가 아닌 속성

5: 키워드

는 검색 및 필터링에 사용되는 패키지 관련 키워드 집합을 나타냅니다.

keywords 이 속성은 작곡가.json 파일의 필수가 아닌 속성입니다

6: 홈페이지

는 프로젝트를 나타냅니다. 웹사이트의 URL 주소

homepage는 작곡가.json 파일의 비필수 속성입니다

7: readme

는 README 문서의 절대 경로를 나타냅니다.

readme 속성은 비필수 속성입니다. Composer.json 파일의 필수 속성

8: time

패키지의 버전 출시 시간을 나타냅니다

YYYY-MM-DD 또는 YYYY-MM-DD HH:MM:SS 형식이어야 합니다

시간 속성 Composer.json 파일의 비필수 속성입니다

9: License

문자열 또는 문자열 배열일 수 있는 패키지의 라이센스를 나타냅니다.

가장 일반적으로 권장되는 라이센스 표현은 다음과 같습니다.

Apache-2.0
BSD-2-Clause
BSD-3-Clause
BSD-4-Clause
GPL-2.0-only / GPL-2.0-or-later
GPL-3.0-only / GPL-3.0-or-later
LGPL-2.1-only / LGPL-2.1-or-later
LGPL-3.0-only / LGPL-3.0-or-later
MIT
로그인 후 복사

라이선스 관련 정보를 알고 싶다면 https://spdx.org/licenses/

license를 참고하세요. 이 속성은 작곡가.json 파일의 필수 속성은 아니지만, 제공하는 것이 좋습니다. information

10: Authors

는 객체 배열인 패키지의 작성자를 나타냅니다.

각 작성자 개체에는 다음 속성이 포함될 수 있습니다.

이름: 작성자의 이름입니다. 보통 실명.

이메일: 작성자의 이메일 주소입니다.

홈페이지: 작가 개인 홈페이지의 URL 주소입니다.

역할: 프로젝트에서 작성자가 수행하는 역할(예: 개발자 또는 번역가)입니다.

예:

"authors": [
        {
            "name": "huaweichenai",
            "email": "243681093@qq.com",
            "homepage": "https://www.wj0511.com/",
            "role": "Developer"
        }
    ],
로그인 후 복사

authors 속성은 작곡가.json 파일의 필수 속성은 아니지만 이 정보를 제공하는 것이 좋습니다.

11: support

는 프로젝트에 대한 지원을 얻기 위한 정보 개체를 나타냅니다.

객체 정보에는 다음 속성이 포함되어야 합니다.

이메일: 프로젝트는 이메일 주소를 지원합니다.

문제: 문제 추적을 위한 URL 주소입니다.

포럼: 포럼 URL 주소입니다.

위키: 위키 URL 주소입니다.

irc: IRC 채팅 채널 주소(irc://server/channel.

소스: URL 탐색 또는 다운로드 소스)

docs: 파일의 URL.

rss: RSS 피드의 URL입니다.

예:

"support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
로그인 후 복사

support이 속성은 작곡가.json 파일의 필수 속성이 아닙니다

12: require

는 설치해야 하는 종속 패키지 목록을 나타냅니다. 이러한 패키지는 조건을 충족해야 합니다. 설치되지 않습니다

예:

"require": {
        "yiisoft/yii2": "*"
    },
로그인 후 복사

require 이 속성은 작곡가.json 파일의 필수가 아닌 속성입니다

13: require-dev

테스트를 개발하거나 실행할 때 종속성 패키지 목록을 나타냅니다

require- dev 이 속성은 작곡가.json 파일의 필수 속성이 아닙니다.

14: autoload

는 PHP 자동 로딩 매핑을 나타냅니다.

는 PSR-4 및 PSR-0 자동 로딩, 클래스 매핑 및 파일 참조를 지원합니다.

推荐使用 PSR-4 规范(添加类时,无需重新生成自动加载映射)

例:

"autoload": {
        "psr-4": {
            "huaweichenai\\discern\\": "src"
        }
    }
로그인 후 복사

表示自动加载当前的src目录

autoload这个属性是composer.json文件的非必须属性

15:minimum-stability

这个属性定义了按稳定性过滤包的默认值,默认为stable。所以如果你依赖dev 包,你应该在你的文件中指定。

所有包都将根据稳定性检出相应的版本,那些低于 minimum-stability 设置的版本将被自动忽略。

minimum-stability这个属性是composer.json文件的非必须属性

16:repositories

表示使用自定义的安装源

Composer 默认只使用 packagist 的安装源。通过定义 repositories 你可以从任何其他地方获取包

例:

"repositories": {
        "0": {
            "type": "composer",
            "url": "https://asset-packagist.org"
        },
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
로그인 후 복사

repositories 这个属性是composer.json文件的非必须属性

20:config

表示一组配置选项。它仅用于项目

config属性向有很多的属性,了解config下面的相关属性,参考:https://laravel-china.org/docs/composer/2018/06-config/2087

config属性中有一个常见的属性

process-timeout:请求过程超时设置

config 这个属性是composer.json文件的非必须属性

21:scripts

表示Composer 允许再安装过程的各个部分中执行脚本

script相关信息参考:https://laravel-china.org/docs/composer/2018/scripts/2095

例:

"scripts": {
            //当项目里有 composer.lock 文件的情况下调用 install 命令后执行
        "post-install-cmd": [
            "yii\\composer\\Installer::postInstall"
        ],
        //当 create-project  命令被执行后执行
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject",
            "yii\\composer\\Installer::postInstall"
        ]
    },
로그인 후 복사

scripts 这个属性是composer.json文件的非必须属性

22:extra

表示scripts 使用的任意扩展数据

例:

"extra": {
        "yii\\composer\\Installer::postCreateProject": {
            "setPermission": [
                {
                    "runtime": "0777",
                    "web/assets": "0777",
                    "yii": "0755"
                }
            ]
        },
        "yii\\composer\\Installer::postInstall": {
            "generateCookieValidationKey": [
                "config/web.php"
            ]
        }
    },
로그인 후 복사

extra这个属性是composer.json文件的非必须属性

위 내용은 Composer.json 파일에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:wj0511
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!