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>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/" } },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)); } }Ausführen jetzt
, 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>Initialisieren Sie jetzt das Repository:
git initDatei hinzufügen:
git add src git add composer.jsonJetzt 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>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
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 --tagsWenn 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>
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

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

TosecurelyHandleAuthenticationAuthorizationInphp, folge theSteps: 1.Alwayshashpasswordswithpassword_hash () und password_verify (), usePreeParedStatementStopreventsQlinjapitca und StoreuserDatain $ _SessionArtelogin.2.ImplementscaChescescesc

Um Datei -Uploads in PHP sicher zu verarbeiten, besteht der Kern darin, Dateitypen zu überprüfen, Dateien umzubenennen und die Berechtigungen zu beschr?nken. 1. Verwenden Sie Finfo_File (), um den realen MIME -Typ zu überprüfen, und nur bestimmte Typen wie Bild/JPEG sind zul?ssig. 2. Verwenden Sie Uniqid (), um zuf?llige Dateinamen zu generieren und sie im Root-Verzeichnis ohne Web zu speichern. 3.. Begrenzen Sie die Dateigr??e durch Php.ini- und HTML -Formulare und setzen Sie die Verzeichnisberechtigungen auf 0755; 4. Verwenden Sie Clamav, um Malware zu scannen, um die Sicherheit zu verbessern. Diese Schritte verhindern effektiv Sicherheitslücken und stellen sicher, dass der Upload -Prozess des Datei -Uploads sicher und zuverl?ssig ist.

In PHP ist der Hauptunterschied zwischen == und == die Strenge der Typprüfung. == Die Konvertierung des Typs wird vor dem Vergleich durchgeführt, beispielsweise 5 == "5" gibt true zurück und === fordert an, dass der Wert und der Typ gleich sind, bevor True zurückgegeben wird, z. B. 5 === "5" gibt false zurück. In den Nutzungsszenarien ist === sicherer und sollte zuerst verwendet werden, und == wird nur verwendet, wenn die Typumwandlung erforderlich ist.

Die Methoden zur Verwendung grundlegender mathematischer Operationen in PHP sind wie folgt: 1. Additionszeichen unterstützen Ganzfaktoren und Floating-Punkt-Zahlen und k?nnen auch für Variablen verwendet werden. String -Nummern werden automatisch konvertiert, aber nicht für Abh?ngigkeiten empfohlen. 2. Subtraktionszeichen verwenden - Zeichen, Variablen sind gleich, und die Typumwandlung ist ebenfalls anwendbar. 3. Multiplikationszeichen verwenden * Zeichen, die für Zahlen und ?hnliche Zeichenfolgen geeignet sind; 4. Division verwendet / Zeichen, die vermeiden müssen, durch Null zu dividieren, und beachten Sie, dass das Ergebnis m?glicherweise schwimmende Punktzahlen sein kann. 5. Die Modulzeichen k?nnen verwendet werden, um ungerade und sogar Zahlen zu beurteilen, und wenn negative Zahlen verarbeitet werden, stimmen die Restzeichen mit der Dividende überein. Der Schlüssel zur korrekten Verwendung dieser Operatoren liegt darin, sicherzustellen, dass die Datentypen klar sind und die Grenzsituation gut behandelt wird.

Ja, PHP kann mit NoSQL -Datenbanken wie MongoDB und Redis durch bestimmte Erweiterungen oder Bibliotheken interagieren. Verwenden Sie zun?chst den MongoDBPHP -Treiber (installiert über PECL oder Composer), um Client -Instanzen zu erstellen und Datenbanken und Sammlungen zu betreiben, wobei Sie Insertion, Abfrage, Aggregation und andere Vorg?nge unterstützen. Zweitens verwenden Sie die Predis Library oder PHPREDIS-Erweiterung, um eine Verbindung zu Redis herzustellen, Schlüsselwerteinstellungen und -akquisitionen durchzuführen und PHPREDIS für Hochleistungsszenarien zu empfehlen, w?hrend Predis für die schnelle Bereitstellung bequem ist. Beide sind für Produktionsumgebungen geeignet und gut dokumentiert.

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPBECAMEPOPULARFORWebDevelopmentDuetoitSeaseoflearning, Seamlessintegrationwithhtml, weit verbreitete Hostingsupport, andalargeecosystemincludingFrameWorkelaravelandcmsplatformen -?hnliche WordPress.itexcelsinformlingsformen, Managingusesersions, Interacti

Tosettherighttimezoneinphp, usedate_default_timezone_set () functionAtthestartofyourScriptWithAvalididentifiersuchas'america/new_york'.1.usedate_default_timezone_set () beeanydate/timeFununtions.2.Alternativ, konfigurieren
