현재 주류 PHP 프레임워크에서는 모두 작곡가.json이라는 파일을 찾을 수 있습니다. 다음은컴포저 사용 튜토리얼에서 작곡가.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!