Private Komponistpakete mit Gemfury
Schlüsselpunkte
- Gemfury ist eine PAAS-Lösung (Plattform-AS-a-Service) für die Hosting von privaten Komponistenpaketen und bietet eine Alternative zu Selbsthostoptionen wie toraner Proxy oder Sats. Es unterstützt mehrere Sprachen, einschließlich des PHP Composer-Pakets, Ruby Gems, Node.js NPM, Python Pypi, APT, Yum und Nu-Get.
- Um Gemfury zu verwenden, müssen Sie ein Konto erstellen, ein Paket erstellen und auf die Plattform hochladen. Dies kann durch die Verwendung von Git und die Verwendung von Gemfury den Rest erfolgen oder durch manuelles Ziehen des Quellcode des Pakets und das Hochladen auf dem Gemfury -Dashboard.
- Sie können Ihr privates Repository in die
composer.json
-Fatei Ihres Projekts hinzufügen. Auf diese Weise können Sie alle privaten Komponistenpakete verwenden, die Sie mit Gemfury erstellen, ohne jedes Mal ein separates Repository hinzuzufügen, wenn Sie das Paket verwenden möchten. - Gemfury bietet auch ein Befehlszeilen -Tool zum Verwalten Ihrer Pakete. Mit diesem Tool können Sie Ihre Pakete auflisten, Versionen bestimmter Pakete anzeigen und mehr. Sie können es mit dem Befehl
sudo gem install gemfury
installieren.
Angenommen, Sie sind mit Composer vertraut. Dies ist der neueste und wahrscheinlich beste PHP -Paketmanager. Wenn nicht, schauen Sie sich die Einführung von Alexander an und ich bin sicher, dass Sie sich sofort davon angezogen fühlen. Sie müssen das Arbeitswissen haben, um das Beste aus diesem Artikel zu machen.
Composer arbeitet effizient und nahtlos mit Packagist, einem umfassenden öffentlichen Paket -Repository.
früher oder später werden Sie jedoch auf ein Paket stoßen, das Sie selbst geschrieben haben, das aus irgendeinem Grund nicht Open Source sein und über Packagist kostenlos geteilt werden kann.
Es gibt mehrere Optionen zum Hosting dieser privaten Pakete. Sie können die Datei composer.json
des Projekts konfigurieren, indem Sie das Repository des Pakets separat hinzufügen. Alternativ können Sie mit SATIS Ihr eigenes statisches Repository generieren. Alternativ können Sie mit dem Toran-Proxy eine selbst gehostete private Version von Packagist erstellen, die nach der Einrichtung einfacher zu verwalten ist als ein Repository in Ihrem composer.json
anzugeben.
Gemfury ist eine PaaS -Alternative. Abgesehen von der Ruhe (obwohl es bezahlt werden muss), dass gehostete Lösungen ein großer Vorteil sind, unterstützt es nicht nur das PHP -Komponist -Paket, sondern auch Ruby Gems, Node.js NPM, Python Pypi, APT, Yum und Nu -Erhalten. Dies ist sehr nützlich, wenn Sie mehrere Sprachen haben.
Lassen Sie uns darauf eingehen, wie man es benutzt.
Richten Sie Ihr Konto ein
Erstens benötigen Sie ein Konto. Es gibt eine 14-tägige Testzeit mit einem kostenlosen Konto, das auf einen Mitarbeiter und ein Hosting-Paket beschränkt ist, und eine Reihe weiterer Pläne ab 9 USD pro Monat.
Sie können sich über Ihre E -Mail -Adresse oder Ihr GitHub -Konto registrieren. Gehen Sie zur Website, um sich zu registrieren.
Erstellen Sie Ihr erstes Paket
Um zu demonstrieren, wie Sie Gemfury für ein privates Komponist -Paket verwenden, erstellen wir Schritt für Schritt ein Paket, das wir dem Service für später in anderen Projekten einreichen werden.
Der einfachste Weg, um ein neues Paket zu erstellen, besteht darin, den folgenden Befehl zu verwenden:
composer init
Es stellt Ihnen eine Reihe von Fragen;
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
Fügen wir als nächstes dem neu erstellten
eine Zeile hinzu und geben Sie ihm an, wo Sie den Quellcode des Pakets finden. composer.json
"autoload": { "psr-0": { "Acme\": "src/" } },
Erstellen Sie in Ihrem Arbeitsverzeichnis die Verzeichnisse
und src
und erstellen Sie dann die folgende Datei mit dem Namen src/Acme
: Coupon.php
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
, um unsere einzigen Abhängigkeiten zu laden und den Autoloader zu konfigurieren. composer install
Um fortzufahren, benötigen Sie Ihren API -Schlüssel. Wenn Sie zu Ihrem Dashboard gehen, finden Sie es unter Einstellungen.
Der einfachste Weg, ein Paket zu erstellen und hochzuladen, besteht darin, einfach Git zu verwenden und Gemfury den Rest zu erledigen.
Erstellen Sie zuerst eine
Datei mit dem folgenden Inhalt: .gitignore
<code>vendor/ composer.lock</code>
git init
git add src git add composer.json
<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>
your-username
Zu diesem Zeitpunkt haben Sie zwei Möglichkeiten. Die erste besteht darin, eine explizite Versionskontrolle zu verwenden, bei der Sie die Version in der Datei
git remote add fury https://your-username@git.fury.io/your-username/coupon.git
composer.json
{ "name": "your-username/coupon", "description": "Generates a coupon code", "version": "1.0.0", ...
Oder Sie können das Git -Tag verwenden. Erstellen Sie beispielsweise eine neue Version mit einem Tag, wie unten gezeigt:
Unabhängig davon, welche Methode Sie einnehmen, ist der nächste Schritt zu reichen:
git tag -a 1.0.0 -m "Version 1.0.0"
Führen Sie schließlich den folgenden Befehl aus:
git commit -a -m "Initial commit"
Dies drückt Ihren Code zu Gemfury, wodurch er automatisch in ein Paket aufgebaut wird.
git push fury master --tags
Verwenden Sie Private Package
Wenn Sie zum Dashboard zurückkehren und links "Repos" auswählen, finden Sie Ihre private Repository -URL. Dies sollte privat gehalten werden. Bitte halten Sie es sicher. Es wird so aussehen:
Es ist
, das es unvorhersehbar macht und daher tatsächlich privat ist.<code>https://php.fury.io/SECRET-CODE/your-username/</code>
Fügen Sie es jetzt zu Ihrem Projekt SECRET-CODE
:
composer init
Sie müssen nur dieses eine Repository hinzufügen, um alle privaten Komponistenpakete zu verwenden, die Sie mit Gemfury erstellt haben. Es ist nicht erforderlich, jedes Mal ein separates Repository hinzuzufügen, wenn Sie das Paket verwenden möchten.
Jetzt können Sie Ihr Privatpaket genauso benötigen, wie Sie es bei Packagist tun. Hier ist ein vollständiges Beispiel für ein Projekt composer.json
:
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
Andere Methoden
persönlich glaube ich, dass die Verwendung von Git und Tags der einfachste und effektivste Weg ist, Pakete zu verwalten.
Oder, wenn Sie es vorziehen, können Sie es selbst erstellen, indem Sie den Quellcode des Pakets abzüglich aufnehmen und auf dem Gemfury -Dashboard hochladen.
Befehlszeilenwerkzeug
Gemfury bietet auch ein Befehlszeilenwerkzeug. So installieren Sie es:
"autoload": { "psr-0": { "Acme\": "src/" } },
Um Ihr Paket aufzulisten, können Sie den folgenden Befehl verwenden:
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
Um die Version eines bestimmten Pakets anzuzeigen:
<code>vendor/ composer.lock</code>
Weitere Informationen zu CLI finden Sie in den entsprechenden Abschnitten der Dokumentation.
Zusammenfassung
In diesem Artikel stelle ich Gemfury vor, eine der vielen Optionen für die Verwaltung privater Repositorys. Als PaaS-Lösung erfordert es nicht die zusätzliche Belastung durch Selbsthostoptionen wie Toran und ist einfacher zu bedienen als STIS. Es hat auch den enormen Vorteil, Pakete in einer Vielzahl von Sprachen zu unterstützen, von PHP -Komponistenpaketen bis hin zu Ruby Edelsteinen und Node.js NPM. Natürlich muss es als PaaS -Lösung dafür bezahlen - aber warum nicht mit einer kostenlosen Testversion oder einem kostenlosen Einzelpaketplan versuchen, ob es für Sie richtig ist?
(Der ursprüngliche FAQS-Teil wird hier weggelassen, da dieser Teil eine häufig gestellte Frage ist und eine hohe Wiederholung des Hauptinhalts des Artikels hat und sein Wert nach Pseudooriginalität nicht hoch ist.)
Das obige ist der detaillierte Inhalt vonPrivate Komponistpakete mit Gemfury. 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











In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.
