Heim > Backend-Entwicklung > PHP-Tutorial > Wie man mit Composer ein Rad baut

Wie man mit Composer ein Rad baut

一个新手
Freigeben: 2023-03-15 19:36:02
Original
1871 Leute haben es durchsucht

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:

  1. Initialisieren Sie die Datei „composer.json“

  2. Definieren Sie den Namespace und Paketname

  3. Funktion, die zum Implementieren des Pakets erforderlich ist

  4. An GitHub senden

  5. Registrieren Sie die Paket auf Packagist

Initialisieren Sie die Datei „composer.json“

Nach der Installation von Composer können Sie es lokal ausführencomposer initSetzen Sie „composer.json“ über die interaktive Befehlszeile ein.

Im Folgenden werden einige der Attribute sowie die allgemeinen Einstellungen vorgestellt:

Name

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

Lizenz. In Bezug auf Lizenzen wird empfohlen, zwei Artikel zu lesen: Einführung in Open-Source-Projektlizenzen und Auswahl der Lizenz

erforderlich

Erforderliche Abhängigkeiten zur Installation des aktuellen Pakets. Das aktuelle Paket wird nur installiert, wenn alle Abhängigkeiten installiert sind.

Autoload

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.

Projektstruktur

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

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.

An GitHub senden

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

An Packagist senden

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!

Verwandte Etiketten:
Quelle:php.cn
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