Heim > Entwicklungswerkzeuge > composer > So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

藏色散人
Freigeben: 2021-07-19 14:32:52
nach vorne
1941 Leute haben es durchsucht

1. Über Composer

Composer ist ein Abhängigkeitsmanagement-Tool für PHP5.3 oder höher. Sie können damit die Codebibliotheken deklarieren, von denen Ihr Projekt abhängt, und sie werden für Sie in Ihrem Projekt installiert. Damit können wir ganz einfach einen Befehl verwenden, um in unseren Projekten auf andere hervorragende Codes zu verweisen. PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。有了它我们就可以轻松的使用一个命令将其他优秀代码引用到我们的项目中来。

二、依赖包管理工具

java有maven,前端有npm,安卓有Gradle,作为世界上最好的语言也就有了composer

三、composer的优势

  • 你有一个项目依赖于若干个库。
  • 其中一些库依赖于其他库。
  • 你声明你所依赖的东西。
  • Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

四、composer常用命令

  • composer require安装一个软件包
    So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
  • composer update会检测新版本包需要的环境和依赖自动实现工具包的升级
    So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
  • composer install如果没有composer.json文件,会安装composer.json中的依赖
    So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
  • composer init会初始化一个composer.json配置文件
    So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

    五、composer的安装

    参照菜鸟教程

六、手写一个composer包

在站点下新建一个目录,名为blog

1、目录下执行:composer init

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
执行完后,让我们输入一个包名,我就叫guangtouqiang/blog把。

包名name

  • 包的名称,它包括供应商名称和项目名称,使用 / 分隔。
  • 对于需要发布的包(库),这是必须填写的。
  • 例如,phpmailer/phpmailer

2、执行guangtouqiang/blog

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
接下来让输入描述。

描述description

  • 一个包的简短描述。通常这个最长只有一行。
  • 对于需要发布的包(库),这是必须填写的。

3、输入描述this is guangtouqiang test bag

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
4、输入作者名称(可选)

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

作者authors

  • 这个对象必须包含以下的所有属性。
  • name: 作者的姓名,通常使用真名。
  • email: 作者的 email 地址。
  • homepage: 作者主页的 URL 地址。
  • role: 该作者在此项目中担任的角色(例:开发人员 或 翻译)。

5、输入最低稳定版本

可用的稳定性标识:dev、alpha、beta、RC、stable。,一般选择dev

6、输入包类型

包类型type

🎜🎜2. Tools zur Abhängigkeitspaketverwaltung🎜🎜Java hat maven, Front-End hat npm und Android hat Gradle hat als die beste Sprache der Welt auch composer🎜🎜🎜🎜3 Vorteile von Composer🎜
  • Sie haben ein Projekt Abhängigkeit in mehreren Bibliotheken.
  • Einige dieser Bibliotheken sind von anderen Bibliotheken abhängig.
  • Sie erklären, worauf Sie angewiesen sind.
  • Composer ermittelt, welche Paketversionen installiert werden müssen, und installiert sie (lädt sie in Ihr Projekt herunter).
🎜🎜🎜4. Allgemeine Composer-Befehle🎜
  • composer require: 🎜Installieren Sie ein Softwarepaket
    Bildbeschreibung hier einfügen
  • composer update : 🎜 Erkennt die Umgebung und Abhängigkeiten, die für die neue Version des Pakets erforderlich sind, um das Toolpaket automatisch zu aktualisieren<br><img src="https://img.php.cn/upload/%20Article/000%20/000/020/e712fc162ba3948c615e8dcb93b6753f-3.gif" alt="Bildbeschreibung hier einfügen">
  • Composer-Installation: 🎜Wenn keine Composer.json-Datei vorhanden ist , Composer wird installiert. Abhängigkeiten in .json
    „Hier
  • composer init: 🎜 initialisiert eine Composer.json-Konfigurationsdatei
    Bildbeschreibung hier einfügen🎜🎜🎜5. Installation von Composer🎜Siehe Tutorial für Anfänger
🎜🎜🎜6. Schreiben Sie ein Composer-Paket von Hand🎜🎜Erstellen Sie ein neues Verzeichnis unter der Site mit dem Namen blog. 🎜🎜🎜1. Im Verzeichnis ausführen: composer init🎜🎜Bildbeschreibung hier einfügen
Nach der Ausführung geben wir einen Paketnamen ein. Ich nenne ihn guangtouqiang/blog. 🎜🎜🎜Paketname name🎜
  • Der Name des Pakets, der den Herstellernamen und den Projektnamen enthält, getrennt durch /.
  • Für Pakete (Bibliotheken), die veröffentlicht werden müssen, muss dies ausgefüllt werden.
  • Zum Beispiel phpmailer/phpmailer
🎜🎜2. Führen Sie guangtouqiang/blog aus:🎜🎜Bildbeschreibung hier einfügen
Als nächstes geben wir eine Beschreibung ein. 🎜🎜🎜Description description🎜
  • Eine kurze Beschreibung eines Pakets. Normalerweise ist dies höchstens eine Zeile.
  • Für Pakete (Bibliotheken), die veröffentlicht werden müssen, muss dies ausgefüllt werden.
🎜🎜3. Geben Sie eine Beschreibung ein das ist eine Guangtouqiang-Testtasche🎜🎜Bildbeschreibung hier einfügen
🎜4. Geben Sie den Namen des Autors ein (optional)🎜🎜Bildbeschreibung hier einfügen🎜🎜🎜 Autoren authors🎜
  • Dieses Objekt muss alle folgenden Eigenschaften enthalten.
  • Name: Der Name des Autors, normalerweise sein richtiger Name.
  • E-Mail: Die E-Mail-Adresse des Autors.
  • homepage: Die URL-Adresse der Homepage des Autors.
  • Rolle: Die Rolle des Autors in diesem Projekt (z. B. Entwickler oder Übersetzer).
🎜🎜5. Geben Sie die minimale stabile Version ein🎜🎜Verfügbare Stabilitätskennungen: dev, alpha, beta, RC, Stable. , wählen Sie im Allgemeinen dev. 🎜🎜🎜6. Eingabepakettyp🎜🎜🎜Pakettyp type🎜
  • 包的安装类型,默认为library。
  • library: 这是默认类型,它会简单的将文件复制到 vendor 目录。
  • project: 这表示当前包是一个项目,而不是一个库。例:框架应用程序 Symfony standard edition,内容管理系统 SilverStripe installer 或者完全成熟的分布式应用程序。使用 IDE 创建一个新的工作区时,这可以为其提供项目列表的初始化。
  • metapackage: 当一个空的包,包含依赖并且需要触发依赖的安装,这将不会对系统写入额外的文件。因此这种安装类型并不需要一个 dist 或 source。
  • composer-plugin: 一个安装类型为 composer-plugin 的包,它有一个自定义安装类型,可以为其它包提供一个 installler。详细请查看 自定义安装类型。

默认为 library

我们选择1,library即可!

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
7、需要输入开源协议

选择输入GPL,LGPL,BSD,MIT,Apache这些开源协议即可:
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
8、是否依赖于其它包,是否依赖于其它环境,这边都yes即可。

Search for a package:选择搜索php。

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
9、生成成功。
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
此时,目录下已经有个composer这些配置:
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

七、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"}
Nach dem Login kopieren

再次基础上增加:

{
    "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"
        }
    }}
Nach dem Login kopieren

命令行执行:composer dump-autoload,更新composer的命名空间与文件夹映射关系。

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
同样,需要新建一个srcguangtouqiang的文件夹:
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
在根目录新建个index.php测试一波:
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
输出:
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

注意命名空间的层级与文件夹层级是否相同,类名与文件名相同才能自动加载。

八、将写好的composer包上传

1、在github上新建个仓库
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
2、将本地的composer包上传到新仓库

  • git init
  • git add .
  • git commit -m "xxx"
  • git remote add origin 你的远程仓库地址
  • git push -u origin master

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
3、登录https://packagist.org/packages/submit
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
4、将你github上的仓库地址复制进去:

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
5、配置webhook:
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

6、复制上图地址到github。

Webhook hinzufügen: webhook
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

这时候,github仓库与packagist已经建立了关联。但是还需要进行发布正式版本才能使用。

7、打版本标签

git tag -a v1.0.1 -m "第一版"
git push origin v1.0.1

此时,已经标签成功了,从packagist能看到我们所有的版本。

So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch

执行composer require xx/xxxBild hier einfügen Beschreibung

Bildbeschreibung hier einfügen

Dies mittlerweile , das Github-Repository und der Packagist wurden verknüpft. Es muss jedoch noch die offizielle Version veröffentlicht werden, bevor es verwendet werden kann.

7. Markieren Sie die Version So schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch
git tag -a v1.0.1 -m "erste Version"git push origin v1.0.1

Zu diesem Zeitpunkt Die Etikettierung ist gelungen und alle unsere Versionen sind bei packagist einsehbar. Bildbeschreibung hier einfügenFühren Sie Composer aus require xx/xxx kann von anderen verwendet werden.

🎜🎜9. Zusammenfassung🎜🎜🎜🎜🎜Eine detaillierte Beschreibung von Composer.json finden Sie unter 🎜: Detaillierte Verwendung von Composer.json🎜🎜Weitere technische Artikel zum Composer finden Sie im 🎜🎜Composer🎜🎜 Tutorial-Kolumne! 🎜🎜

Das obige ist der detaillierte Inhalt vonSo schreiben Sie ein Komponistenpaket handschriftlich und laden es zur Veröffentlichung hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage