Inhaltsverzeichnis
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. " >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.
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

Jul 19, 2021 pm 02:32 PM
composer

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="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/020/ae6bea1f1fef591d0821649a7fe47455-4.gif" class="lazy" 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

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Lösen Lösen Apr 18, 2025 am 09:24 AM

Bei der Entwicklung von Websites mit CraftCMS stoßen Sie häufig mit Ressourcendateiproblemen, insbesondere wenn Sie häufig CSS und JavaScript -Dateien aktualisieren, alte Versionen von Dateien möglicherweise weiterhin vom Browser zwischengespeichert. Dieses Problem wirkt sich nicht nur auf die Benutzererfahrung aus, sondern erhöht auch die Schwierigkeit der Entwicklung und des Debuggens. Kürzlich habe ich in meinem Projekt ähnliche Probleme gestoßen, und nach einigen Erkundungen fand ich das Plugin Wiejeben/Craft-Laravel-Mix, das mein Caching-Problem perfekt löste.

So vereinfachen Sie das E -Mail -Marketing mit Composer: Anwendungspraktiken von Duwa.io. So vereinfachen Sie das E -Mail -Marketing mit Composer: Anwendungspraktiken von Duwa.io. Apr 18, 2025 am 11:27 AM

Ich habe ein schwieriges Problem bei einer Mail -Marketing -Kampagne: So erstellen und senden Sie E -Mails im HTML -Format effizient. Der traditionelle Ansatz besteht darin, Code manuell zu schreiben und E-Mails mit einem SMTP-Server zu senden. Dies ist jedoch nicht nur zeitaufwändig, sondern auch fehleranfällige. Nachdem ich mehrere Lösungen ausprobiert hatte, entdeckte ich Duwa.io, eine einfache und benutzerfreundliche Wiederherstellung, die mir hilft, HTML-Mail schnell zu erstellen und zu senden. Um den Entwicklungsprozess weiter zu vereinfachen, habe ich beschlossen, Composer für die Installation und Verwaltung von Duwa.ios PHP -Bibliothek - Captaindoe/Duwa zu verwalten.

Verbesserung der Serialisierungseffizienz der Doktrin: Anwendung von Sidus/Doctrin-Serializer-Bundle Verbesserung der Serialisierungseffizienz der Doktrin: Anwendung von Sidus/Doctrin-Serializer-Bundle Apr 18, 2025 am 11:42 AM

Ich hatte ein schwieriges Problem, wenn ich an einem Projekt mit einer großen Anzahl von Leitungseinheiten arbeitete: Jedes Mal, wenn das Unternehmen serialisiert und deserialisiert wird, wird die Leistung sehr ineffizient, was zu einer signifikanten Zunahme der Systemantwortzeit führt. Ich habe mehrere Optimierungsmethoden ausprobiert, aber es funktioniert nicht gut. Glücklicherweise habe ich durch die Verwendung von Sidus/Doctrine-Serializer-Bunde dieses Problem erfolgreich gelöst und die Leistung des Projekts erheblich verbessert.

Verwenden Sie den Komponisten, um das Dilemma von Empfehlungssystemen zu lösen: Andres-Montanez/Empfehlungen-Bundle Verwenden Sie den Komponisten, um das Dilemma von Empfehlungssystemen zu lösen: Andres-Montanez/Empfehlungen-Bundle Apr 18, 2025 am 11:48 AM

Bei der Entwicklung einer E-Commerce-Website habe ich auf ein schwieriges Problem gestoßen: So liefern Sie den Benutzern personalisierte Produktempfehlungen. Anfangs habe ich einige einfache Empfehlungsalgorithmen ausprobiert, aber die Ergebnisse waren nicht ideal und die Benutzerzufriedenheit war ebenfalls betroffen. Um die Genauigkeit und Effizienz des Empfehlungssystems zu verbessern, habe ich mich entschlossen, eine professionellere Lösung zu übernehmen. Schließlich habe ich Andres-Montanez/Empfehlungen durch den Komponisten installiert, was nicht nur mein Problem löste, sondern auch die Leistung des Empfehlungssystems erheblich verbesserte. Sie können Komponist über die folgende Adresse lernen:

Laravel -Installationscode Laravel -Installationscode Apr 18, 2025 pm 12:30 PM

Um Laravel zu installieren, befolgen Sie die folgenden Schritte: Installieren Sie den Komponisten (für MacOS/Linux und Windows). Installieren Sie LaRavel Installer. Erstellen Sie eine neue Projektstart -Service -Access -Anwendung (URL: http://127.0.0.1:8000).

Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von Laravel Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von Laravel Apr 18, 2025 pm 01:00 PM

Das Laravel-Framework verfügt über integrierte Methoden, um die Versionsnummer einfach zu sehen, um die verschiedenen Anforderungen der Entwickler zu erfüllen. In diesem Artikel werden diese Methoden untersucht, einschließlich der Verwendung des Befehlszeilen -Tools des Composers, der Zugriff auf .Env -Dateien oder das Erhalten von Versionsinformationen über PHP -Code. Diese Methoden sind für die Aufrechterhaltung und Verwaltung der Versionierung von Laravel -Anwendungen von wesentlicher Bedeutung.

So erstellen Sie schnell Fecmall Advanced Project Templates mit Composer So erstellen Sie schnell Fecmall Advanced Project Templates mit Composer Apr 18, 2025 am 11:45 AM

Bei der Entwicklung einer E-Commerce-Plattform ist es entscheidend, das richtige Framework und Werkzeuge auszuwählen. Kürzlich, als ich versuchte, eine featurereiche E-Commerce-Website aufzubauen, stieß ich auf ein schwieriges Problem: wie ich schnell eine skalierbare und voll funktionsfähige E-Commerce-Plattform erstellen kann. Ich habe mehrere Lösungen ausprobiert und am Ende die erweiterte Projektvorlage von FecMall (FECMALL/FBBCBASE-APP-APMANCED) ausgewählt. Durch die Verwendung von Komponisten wird dieser Prozess sehr einfach und effizient. Komponist kann über die folgende Adresse gelernt werden: Lernadresse

See all articles