Le compositeur est l'un des
PHP5.3
ci-dessus. Il vous permet de déclarer les bibliothèques de codes dont dépend votre projet et il les installera pour vous dans votre projet. Avec lui, nous pouvons facilement依赖管理工具
référencer d'autres excellents codes dans nos projets.使用一个命令
, front-end a maven
, Android a npm
, comme Gradle
a aussi 世界上最好的语言
composer
composer require
Installer un package logiciel composer update
détectera l'environnement et les dépendances requis par la nouvelle version du package et mettra automatiquement en œuvre la mise à niveau de l'outil package composer install
S'il n'y a pas de fichier composer.json, les dépendances dans composer.json seront installéescomposer init
Un fichier de configuration composer.json sera initialisé. blog
1. Exécuter dans le répertoire : composer init
Après l'exécution, entrons un nom de package, je l'appellerai
. guangtouqiang/blog
Nom du package
name
Le nom du package, il comprend le nom du fournisseur et le nom du projet, séparés par /.
- Pour les packages (bibliothèques) qui doivent être publiés, cela est obligatoire.
- Par exemple, phpmailer/phpmailer
2 Exécuter : guangtouqiang/blog
Entrons ensuite une description.
Description
description
Une brève description du colis. Habituellement, il ne s’agit que d’une seule ligne.
- Pour les packages (bibliothèques) qui doivent être publiés, cela est obligatoire.
3. Entrez la description this is guangtouqiang test bag
4 输入作者名称(可选)
Auteur
authors
Cet objet doit contenir tous les attributs suivants.
- nom : Le nom de l’auteur, généralement son vrai nom.
- email : L’adresse email de l’auteur.
- homepage : L'adresse URL de la page d'accueil de l'auteur.
- rôle : Le rôle de l'auteur dans ce projet (par exemple développeur ou traducteur).
5. Entrez la version stable minimale
Drapeau de stabilité disponible :, sélectionnez généralement dev、alpha、beta、RC、stable。
. dev
6. Entrez le type de colis
Type de paquet
type
- 包的安装类型,默认为
library。
- library: 这是默认类型,它会简单的将文件复制到 vendor 目录。
- project: 这表示当前包是一个项目,而不是一个库。例:框架应用程序 Symfony standard edition,内容管理系统 SilverStripe installer 或者完全成熟的分布式应用程序。使用 IDE 创建一个新的工作区时,这可以为其提供项目列表的初始化。
- metapackage: 当一个空的包,包含依赖并且需要触发依赖的安装,这将不会对系统写入额外的文件。因此这种安装类型并不需要一个 dist 或 source。
- composer-plugin: 一个安装类型为 composer-plugin 的包,它有一个自定义安装类型,可以为其它包提供一个 installler。详细请查看 自定义安装类型。
默认为 library
我们选择1,library
即可!
7、需要输入开源协议
选择输入GPL,LGPL,BSD,MIT,Apache
这些开源协议即可:
8、是否依赖于其它包,是否依赖于其它环境,这边都yes即可。
Search for a package
:选择搜索php。
9、生成成功。
此时,目录下已经有个composer
这些配置:
看下刚刚生成的composer.json
:
{ "name": "guangtouqiang/blog", "description": "this is guangtouqiang test bag", "type": "1", "require": { "php": "^7.0" }, "license": "Apache-2.0", "authors": [ { "name": "guangtouqiang", "email": "xiaozhengguo521@gmail.com" } ], "minimum-stability": "dev"}
再次基础上增加:
{ "name": "guangtouqiang/blog", "description": "this is guangtouqiang test bag", "type": "1", "require": { "php": "^7.0" }, "license": "Apache-2.0", "authors": [ { "name": "guangtouqiang", "email": "xiaozhengguo521@gmail.com" } ], "minimum-stability": "dev", "autoload": { "psr-4": { "guangtouqiang\\": "src/guangtouqiang" } }}
命令行执行:composer dump-autoload
,更新composer的命名空间与文件夹映射关系。
同样,需要新建一个src
和guangtouqiang
的文件夹:
在根目录新建个index.php
测试一波:
输出:
注意命名空间的层级与文件夹层级是否相同,类名与文件名相同才能自动加载。
1、在github上新建个仓库
2、将本地的composer包上传到新仓库
git init
git add .
git commit -m "xxx"
git remote add origin 你的远程仓库地址
git push -u origin master
3、登录https://packagist.org/packages/submit
4、将你github上的仓库地址复制进去:
5、配置webhook:
6、复制上图地址到github。
Ajouterwebhook
:
À ce stade, le référentiel github et le packagiste ont été associés. Mais il doit encore être publié dans la version officielle avant de pouvoir être utilisé.
7. Tagguer la version
git tag -a v1.0.1 -m "第一版"
git push origin v1.0.1
À ce stade, le tag a réussi et toutes nos versions sont visibles depuis packagist.
Exécutercomposer require xx/xxx
et il sera disponible pour les autres.
Pour une description détaillée de composer.json, veuillez vous référer à : Utilisation détaillée de composer.json
Pour plus d'articles techniques liés au compositeur, veuillez visiter le composer colonne tutoriel!
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!