Heim Backend-Entwicklung PHP-Tutorial Private Komponistpakete mit Gemfury

Private Komponistpakete mit Gemfury

Feb 19, 2025 am 09:19 AM

Private Composer Packages with 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
Nach dem Login kopieren
Nach dem Login kopieren

Es stellt Ihnen eine Reihe von Fragen;

<code>...  (此处省略与原文相同的composer init交互过程) ...</code>
Nach dem Login kopieren
Nach dem Login kopieren
Wie Sie sehen, erstellen wir ein einfaches Paket mit nur einer Abhängigkeitsfördererin.

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/"
    }
},
Nach dem Login kopieren
Nach dem Login kopieren
Lassen Sie uns jetzt das Paket selbst erstellen. Wir erstellen eine Klasse mit nur einem Zweck.

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));
    }

}
Nach dem Login kopieren
Nach dem Login kopieren
Ausführen jetzt

, um unsere einzigen Abhängigkeiten zu laden und den Autoloader zu konfigurieren. composer install

Dies ist das Paket, das wir erstellt haben. Laden Sie es nun in Gemfury hoch.

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>
Nach dem Login kopieren
Nach dem Login kopieren
Initialisieren Sie jetzt das Repository:

git init
Nach dem Login kopieren
Datei hinzufügen:

git add src
git add composer.json
Nach dem Login kopieren
Jetzt werden wir ein Git -Remote -Repository hinzufügen. Sie finden die entsprechende URL, indem Sie Erste Schritte im Gemfury -Dashboard auswählen und dann die Registerkarte PHP -Komponist auswählen. Es wird so aussehen:

<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>
Nach dem Login kopieren
Stellen Sie sicher

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

wie unten angegeben:
git remote add fury https://your-username@git.fury.io/your-username/coupon.git
Nach dem Login kopieren

composer.json

Es ist wichtig, dass Sie semantische Versionen verwenden. Andernfalls kann Ihr Paket nicht korrekt erstellt werden.
{
    "name": "your-username/coupon",
    "description": "Generates a coupon code",
        "version": "1.0.0",
    ...
Nach dem Login kopieren

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

Führen Sie schließlich den folgenden Befehl aus:

git commit -a -m "Initial commit"
Nach dem Login kopieren

Dies drückt Ihren Code zu Gemfury, wodurch er automatisch in ein Paket aufgebaut wird.

git push fury master --tags
Nach dem Login kopieren
Wenn Sie jetzt zu Ihrem Dashboard gehen, sollten Sie sehen, dass Ihr neues Repository aufgeführt ist. Lassen Sie uns als nächstes sehen, wie Sie es in Ihrem Projekt verwenden.

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

Fügen Sie es jetzt zu Ihrem Projekt SECRET-CODE:

hinzu
composer init
Nach dem Login kopieren
Nach dem Login kopieren

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

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/"
    }
},
Nach dem Login kopieren
Nach dem Login kopieren

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));
    }

}
Nach dem Login kopieren
Nach dem Login kopieren

Um die Version eines bestimmten Pakets anzuzeigen:

<code>vendor/
composer.lock</code>
Nach dem Login kopieren
Nach dem Login kopieren

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!

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ßer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Heiße Themen

Java-Tutorial
1670
14
PHP-Tutorial
1274
29
C#-Tutorial
1256
24
Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Apr 17, 2025 am 12:06 AM

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: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

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 in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

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.

Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Apr 17, 2025 am 12:25 AM

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.

Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Apr 14, 2025 am 12:12 AM

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 und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

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: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

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.

Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO) Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO) Apr 15, 2025 am 12:15 AM

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.

See all articles