Wie man mit Composer ein Rad baut
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
Initialisieren Sie die Datei „composer.json“
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:
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
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
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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.

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.

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

Ich habe ein schwieriges Problem bei der Entwicklung einer symfonybasierten Anwendung: So validieren Sie das JSON-Datenformat effektiv. Anfangs habe ich versucht, den manuellen Verifizierungscode zu verwenden, aber dies war nicht nur kompliziert, sondern auch fehleranfällige. Nach einiger Exploration entdeckte ich ein Komponistenpaket namens Ptyhard/JSON-Schema-Bundle, das meinem Projekt große Bequemlichkeit und Effizienz brachte.

Bei der Entwicklung eines großen PHP -Projekts habe ich ein häufiges, aber schwieriges Problem gestoßen: So verwalten und injizieren Sie Abhängigkeiten effektiv. Zunächst habe ich versucht, globale Variablen und manuelle Injektion zu verwenden, dies erhöhte jedoch nicht nur die Komplexität des Codes, sondern führte auch leicht zu Fehlern. Schließlich habe ich dieses Problem erfolgreich gelöst, indem ich die PSR-11-Containerschnittstelle und die Leistung des Komponisten verwendete.

Bei der Entwicklung einer Laravel -Anwendung habe ich auf ein gemeinsames, aber schwieriges Problem gestoßen: wie die Sicherheit von Benutzerkonten verbessert werden kann. Mit der zunehmenden Komplexität von Cyber -Angriffen reicht ein einzelner Kennwortschutz nicht mehr aus, um die Sicherheit der Benutzerdaten zu gewährleisten. Ich habe verschiedene Methoden ausprobiert, aber die Ergebnisse waren nicht zufriedenstellend. Schließlich installierte ich die WiebenieUwenhuis/Laravel-2FA-Bibliothek über Komponist und fügte meiner Anwendung erfolgreich die Zwei-Faktor-Authentifizierung (2FA) hinzu, wodurch die Sicherheit erheblich verbessert wurde.

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.
