Dans le framework PHP grand public actuel, nous trouverons un fichier nommé composer.json. Vous pouvez voir le fichier composer.json dans le package composer téléchargé. Voici la colonne tutoriel d'utilisation du compositeur : Nous. présentera la fonction, les propriétés et les fonctions de chaque propriété du fichier composer.json.
Fonction :
Le fichier composer.json définit les dépendances de votre projet actuel, ainsi que quelques informations associées sur les dépendances
Description de l'attribut commun :
1 : nom
représente le nom du package, qui se compose du nom de l'auteur et du nom du projet, séparés par
Par exemple. :
yiisoft/ yii2-app-basic
Le nom du package peut contenir n'importe quel caractère, y compris des espaces, et n'est pas sensible à la casse (yiisoft/yii2-app-basic et Yiisoft/Yii2-app -basic sera considéré comme le même package). Pour simplifier l'installation, il est recommandé de définir un nom court
nom qui ne contient pas de caractères non alphanumériques ni d'espaces. Cet attribut est un attribut obligatoire du fichier composer.json
2 : description
Représente une brève description du package, il s'agit généralement d'une introduction sur une ligne
description Cet attribut est un attribut nécessaire du fichier composer.json
3. : version
indique la version du package
Le format de la version doit suivre X.Y.Z ou vX.Y.Z, suffixe optionnel -dev, -patch (-p), -alpha (-a ), -beta (-b) ou -RC, patch, alpha, beta et le suffixe RC peuvent également être suivis d'un chiffre
Par exemple :
1.0.0
1.0.0-dev
version Cet attribut est le fichier composer.json Attributs non essentiels, peuvent généralement être omis
4 : type
indique le type de package , la valeur par défaut est bibliothèque
Composer prend en charge nativement les 4 types suivants :
bibliothèque : type par défaut, il lui suffit de copier les fichiers dans le répertoire du fournisseur.
projet : Le package actuel est un projet, pas une bibliothèque. Par exemple, la valeur de type du fichier composer.json dans le framework Yii est project
metapackage : un package vide qui contient les exigences et déclenchera son installation, mais ne contient pas de fichiers et n'écrira rien dans le système. Par conséquent, ce type d’installation ne nécessite ni dist ni source.
composer-plugin : Un package avec le type d'installation composer-plugin Il a un type d'installation personnalisé et peut fournir un installateur pour d'autres packages
Nous pouvons également définir un type personnalisé
L'attribut type est un attribut non essentiel du fichier composer.json
5 : mots-clés
représente un ensemble de mots-clés liés au package utilisé pour la recherche et le filtrage
L'attribut mots-clés est un attribut non essentiel du fichier composer.json
6 : page d'accueil
représente l'adresse URL du site du projet
L'attribut page d'accueil est le fichier composer.json L'attribut facultatif
7 : readme
représente le chemin absolu du document README
L'attribut readme est l'attribut facultatif du fichier composer.json
8 : heure
indique l'heure de sortie de la version du package
doit être au format AAAA-MM-JJ ou AAAA-MM-JJ HH:MM:SS
Cet attribut de time est composer Attributs optionnels du fichier .json
9 : licence
représente la licence du package, qui peut être une chaîne ou un tableau de chaînes
La licence la plus courante La notation recommandée est la suivante :
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
Si vous souhaitez connaître les informations relatives à la licence, vous pouvez vous référer à : https://spdx.org/licenses/
L'attribut licence est une propriété non spécifique du fichier composer.json Attribut obligatoire, mais il est recommandé de fournir cette information
10 : auteurs
représente l'auteur de. le package, qui est un tableau d’objets.
Chaque objet auteur peut contenir les attributs suivants :
name : Le nom de l'auteur. Généralement le vrai nom.
email : L’adresse email de l’auteur.
page d’accueil : adresse URL du site personnel de l’auteur.
rôle : le rôle que l'auteur joue dans le projet (comme développeur ou traducteur).
Exemple :
"authors": [ { "name": "huaweichenai", "email": "243681093@qq.com", "homepage": "https://www.wj0511.com/", "role": "Developer" } ],
L'attribut auteurs est un attribut non essentiel du fichier composer.json, mais il est recommandé de fournir cette information
11 : support
signifie Obtenir des objets d'information prenant en charge le projet.
Les informations sur l'objet doivent inclure les attributs suivants :
email : le projet prend en charge les adresses e-mail.
problèmes : adresse URL pour le suivi des problèmes.
forum : Adresse URL du forum.
wiki : Adresse URL du wiki.
irc : adresse du canal de discussion IRC, comme irc://server/channel.
source : URL de navigation ou source de téléchargement.
docs : URL du fichier.
rss : URL du flux RSS.
Exemple :
"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" },
L'attribut support est un attribut non essentiel du fichier composer.json
12 : require
signifie que c'est obligatoire Liste des packages dépendants installés. Ces packages doivent remplir les conditions, sinon ils ne seront pas installés
Exemple :
"require": { "yiisoft/yii2": "*" },
require Cet attribut est un attribut non essentiel de. le fichier composer.json
13 :require-dev
Indique la liste des packages dépendants lors du développement ou de l'exécution de tests
L'attribut require-dev est un attribut non essentiel du fichier composer.json
14 : autoload
Représente le mappage de chargement automatique PHP
Prend en charge le chargement automatique PSR-4 et PSR-0, le mappage de classes et les références de fichiers .
推荐使用 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文件的非必须属性
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!