Composer ist ein Abhängigkeitsverwaltungstool für PHP. In diesem Artikel wird erläutert, wie Sie ein Paket erstellen und an Packagist senden, damit andere Ihr Paket problemlos über Composer verwenden können.
Es gibt die folgenden Schritte, um ein Composer-Paket zu entwickeln:
Initialisieren Sie die Datei „composer.json“
Definieren Sie den Namespace und Paketname
Funktion, die zum Implementieren des Pakets erforderlich ist
An GitHub senden
Registrieren Sie die Paket auf Packagist
Nach der Installation von Composer können Sie es lokal ausführencomposer init
Setzen Sie „composer.json“ über die interaktive Befehlszeile ein.
Im Folgenden werden einige der Attribute sowie die allgemeinen Einstellungen vorgestellt:
Dieses Attribut definiert den Paketnamen, getrennt durch /, das vorangehende Eine davon ist das Angebot. Der Anbietername, gefolgt vom Paketnamen, ist ein eindeutiger Name, der Entwicklern von der Packagist-Website des Anbietervertreters zur Verfügung gestellt wird, um Pakete zu organisieren und Namenskonflikte zu vermeiden. Besuchen Sie daher beim Einreichen am besten https://packagist.org/packages/yourvendorname und ersetzen Sie yourvendorname in der URL durch den gewünschten Namen. Wenn die Seite nicht 404 hat, bedeutet dies, dass sie registriert wurde.
Lizenz. In Bezug auf Lizenzen wird empfohlen, zwei Artikel zu lesen: Einführung in Open-Source-Projektlizenzen und Auswahl der Lizenz
Erforderliche Abhängigkeiten zur Installation des aktuellen Pakets. Das aktuelle Paket wird nur installiert, wenn alle Abhängigkeiten installiert sind.
Diese Konfiguration verwendet hauptsächlich PSR-4- oder PSR-0-Einstellungen, und es wird eher empfohlen, den PSR-4-Standard zu verwenden.
http://json-schema.org/ stellt die Definition von JSON Schema und die Implementierung seiner verschiedenen Funktionen in verschiedenen Sprachen vor, einschließlich der Implementierung von Validatoren, darunter JSON Schema Validator online Überprüfung dienen. Tatsächlich ist es am einfachsten, mit composer validate composer.json
zu überprüfen, ob die Datei Fehler enthält.
Die Projektstruktur ist eine typische MVC-Struktur
. └── geo └── geosso ├── LICENSE ├── README.md ├── composer.json └── src ├── Contracts ├── Http │ ├── Controllers │ ├── Middleware │ └── Requests ├── ParamsBean ├── Providers ├── Support └── config12 directories
LICENSE, README.md und Composer.json werden nach der Ausführung von tree -d
manuell hinzugefügt.
Das Stammverzeichnis des Projekts ist unter src definiert und auch in Composer.json definiert, sodass Composer beim Laden dieses Pakets weiß, wie der Dateipfad über den Namespace aufgelöst wird.
Das HTTP-Verzeichnis stellt die Antwort auf die Anfrage dar, die Controller unten stellen den Controller der rechtlichen Anfrage dar, Middleware stellt die erste Ebene der Anfrage dar, die die Anfrage über Middleware abfängt, und Anfragen zum Erhalten der Front-End-Anfrage und des Filters die Anfrage.
Verträge stellen eine Schnittstellendefinition dar. ParamsBean stellt die Parameterkapselung dar, wenn die Anwendungsschicht mit dem zugrunde liegenden Dienst kommuniziert. Es verwendet die Bean, um jeden Parameter abzurufen, anstatt ein Array zu übergeben, um die Aufrufe konsistent zu machen. Außerdem wird die Typerkennung beim Aufruf der Schnittstelle erzwungen, wodurch die Parameter weitgehend vereinheitlicht werden können Übertragung zwischen Schichten.
Anbieter stellen den Service-Container von Laravel dar. Über den Service-Container können Sie Routen und Konfigurationen registrieren, Hilfsklassen laden und Schnittstellen und deren Implementierungen binden.
Unterstützung sind einige Hilfsklassen, die häufig verwendete Funktionen kapseln, die nichts mit der Logik zu tun haben. Über config kann die Konfiguration einfach mithilfe der globalen Funktion config()
festgelegt und aufgerufen werden.
Befolgen Sie die vorherigen Schritte. Ein Paket verfügt über ein Grundgerüst. Der nächste Schritt besteht darin, es auf GitHub hochzuladen, das Projekt zu konfigurieren, kontinuierliche Integrationsdienste zu integrieren und ein Paket auszugeben Open-Source-Projektlizenz.
Wenn GitHub das Projekt initialisiert, können Sie eine .gitignore-Datei generieren, eine Lizenz auswählen, die README.md-Datei initialisieren, zum lokalen Projektverzeichnis wechseln und die folgenden Schritte ausführen, um das Verzeichnis hochzuladen GitHub:
git init # 初始化仓库git remote set-url origin --push --add git@github.com:jayxhj/geosso.git # 添加远程追踪仓库地址git add . git commit git push origin master
Packagist ist die Standardadresse für Composer, um Paketmetadateninformationen abzurufen. Nachdem Sie die Metadateninformationen von Packagist erhalten haben, ziehen Sie den Code von GitHub. Nachdem Sie das von Ihnen entwickelte Paket auf GitHub hochgeladen haben, müssen Sie es daher bei Packagist registrieren, damit Menschen auf der ganzen Welt Ihren Code über Composer abrufen können.
Das obige ist der detaillierte Inhalt vonWie man mit Composer ein Rad baut. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!