Points clés
- GEMFURY est une solution de plate-forme en tant que service (PAAS) pour héberger des forfaits de compositeurs privés, offrant une alternative aux options d'auto-hébergement telles que Toran Proxy ou Satis. Il prend en charge plusieurs langues, notamment le package PHP Composer, Ruby Gems, Node.js NPM, Python PYPI, APT, YUM et NU-GET.
- Pour utiliser Gemfury, vous devez créer un compte, créer un package et le télécharger sur la plate-forme. Cela peut être fait en utilisant Git et en faisant gérer Gemfury le reste, ou en zippant manuellement le code source du package et en le téléchargeant sur le tableau de bord Gemfury.
- Vous pouvez ajouter votre référentiel privé au fichier
composer.json
de votre projet. Cela vous permet d'utiliser tous les packages de compositeurs privés que vous créez avec Gemfury sans ajouter de référentiel séparé chaque fois que vous souhaitez utiliser le package. - Gemfury fournit également un outil de ligne de commande pour gérer vos packages. Cet outil vous permet de répertorier vos packages, d'afficher les versions de packages spécifiques, etc. Vous pouvez l'installer en utilisant la commande
sudo gem install gemfury
.
Supposons que vous connaissiez le compositeur, c'est le dernier et probablement le meilleur gestionnaire de packages PHP. Sinon, consultez l'introduction d'Alexander et je suis s?r que vous serez immédiatement attiré par elle. Vous devez avoir ses connaissances pratique pour tirer le meilleur parti de cet article.
Composer fonctionne de manière efficace et transparente avec Packagist, un référentiel complet de packages publics.
Cependant, t?t ou tard, vous rencontrerez un package que vous avez écrit vous-même, qui pour une raison quelconque ne peut pas être open source et partagé gratuitement via Packagist.
Il existe plusieurs options pour héberger ces forfaits privés. Vous pouvez configurer le fichier composer.json
du projet en ajoutant séparément le référentiel du package. Alternativement, SATI vous permet de générer votre propre référentiel statique. Alternativement, Toran Proxy vous permet de créer une version privée auto-hébergée de Packagist qui, une fois configuré, est plus facile à gérer que de spécifier un référentiel dans votre composer.json
.
Gemfury est une alternative au PaaS. Outre la tranquillité d'esprit (bien qu'il soit payé), les solutions hébergées sont un énorme avantage qu'il prend en charge non seulement le package PHP Composer, mais aussi Ruby Gems, Node.js NPM, Python PYPI, APT, YUM et NU -Obtenir. Ceci est très utile si vous avez plusieurs langues.
Plongeons comment l'utiliser.
Configurez votre compte
Tout d'abord, vous avez besoin d'un compte. Il y a une période d'essai de 14 jours, avec un compte gratuit limité à un collaborateur et à un forfait d'hébergement, et une gamme d'autres plans à partir de 9 $ par mois.
Vous pouvez vous inscrire à l'aide de votre adresse e-mail ou de votre compte GitHub. Allez sur le site Web pour vous inscrire.
Créez votre premier package
Pour démontrer comment utiliser Gemfury pour un package de compositeurs privé, créons un package étape par étape que nous soumettrons au service à utiliser dans d'autres projets plus tard.
La fa?on la plus simple de créer un nouveau package est d'utiliser la commande suivante:
composer init
Il vous pose une série de questions;
<code>... (此處省略與原文相同的composer init交互過程) ...</code>Comme vous pouvez le voir, nous créons un package simple avec un seul Faker de dépendance.
Ensuite, ajoutons une ligne au nouveau créé
et disons-le où trouver le code source du package. composer.json
"autoload": { "psr-0": { "Acme\": "src/" } },Créons maintenant le package lui-même. Nous allons créer une classe avec un seul objectif; générer des codes de réduction pour les plates-formes de commerce électronique à l'aide d'algorithmes propriétaires complexes et top secrets.
Dans votre répertoire de travail, créez les répertoires
et src
, puis créez le fichier suivant nommé 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)); } }Exécutez maintenant
pour charger nos seules dépendances et configurer l'autoloader. composer install
pour continuer, vous avez besoin de votre clé API. Si vous accédez à votre tableau de bord, vous le trouverez sous Paramètres.
La fa?on la plus simple de construire et de télécharger un package est simplement d'utiliser Git et de laisser Gemfury gérer le reste.
Créez d'abord un fichier
avec le contenu suivant: .gitignore
<code>vendor/ composer.lock</code>Initialiser le référentiel maintenant:
git initAjouter un fichier:
git add src git add composer.jsonMaintenant, nous allons ajouter un référentiel distant GIT. Vous pouvez trouver l'URL pertinente en sélectionnant le démarrage du tableau de bord Gemfury, puis en sélectionnant l'onglet PHP Composer. Cela ressemblera à ceci:
<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>Assurez-vous de remplacer
par votre nom d'utilisateur Gemfury (si vous vous inscrivez avec GitHub, ce sera le même que votre nom d'utilisateur GitHub) et l'ajoutez en tant que référentiel distant: your-username
git remote add fury https://your-username@git.fury.io/your-username/coupon.gità ce stade, vous avez deux choix. La première consiste à utiliser le contr?le de version explicite, où vous spécifiez la version dans le fichier
, comme indiqué ci-dessous: composer.json
{ "name": "your-username/coupon", "description": "Generates a coupon code", "version": "1.0.0", ...
Il est important que vous utilisiez le versioning sémantique. Sinon, votre package peut ne pas être construit correctement;ou, vous pouvez utiliser la balise git. Par exemple, créez une nouvelle version avec une balise, comme illustré ci-dessous:
git tag -a 1.0.0 -m "Version 1.0.0"Quelle que soit la méthode que vous prenez, l'étape suivante consiste à soumettre:
git commit -a -m "Initial commit"Enfin, exécutez la commande suivante:
git push fury master --tagsCela pousse votre code à Gemfury, qui le construira ensuite automatiquement dans un package.
Maintenant, si vous accédez à votre tableau de bord, vous devriez voir que votre nouveau référentiel est répertorié. Ensuite, voyons comment vous l'utilisez dans votre projet.
Utilisation du package privé
Si vous revenez au tableau de bord et sélectionnez "Reposs" à gauche, vous trouverez votre URL de référentiel privé. Cela doit être maintenu privé, alors assurez-vous de le protéger. Cela ressemblera à ceci:
<code>https://php.fury.io/SECRET-CODE/your-username/</code>C'est
qui le rend imprévisible et est donc en fait privé. SECRET-CODE
: composer.json
de votre projet
composer init
Il vous suffit d'ajouter ce référentiel pour utiliser tous les packages de compositeurs privés que vous avez créés avec Gemfury. Il n'est pas nécessaire d'ajouter un référentiel séparé chaque fois que vous souhaitez utiliser le package.
Maintenant, vous pouvez avoir besoin de votre forfait privé comme vous le faites sur Packagist. Voici un exemple complet d'un projet composer.json
:
<code>... (此處省略與原文相同的composer init交互過程) ...</code>
Autres méthodes
Personnellement, je crois que l'utilisation de Git et des balises est le moyen le plus simple et le plus efficace de gérer les packages.
ou, si vous préférez, vous pouvez le construire vous-même en zippant le code source du package et en le téléchargeant sur le tableau de bord Gemfury.
outil de ligne de commande
Gemfury fournit également un outil de ligne de commande. Pour l'installer:
"autoload": { "psr-0": { "Acme\": "src/" } },
Pour répertorier votre package, vous pouvez utiliser la commande suivante:
<?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)); } }
pour afficher la version d'un package spécifique:
<code>vendor/ composer.lock</code>
Pour plus d'informations sur la CLI, veuillez visiter les sections pertinentes de la documentation.
Résumé
Dans cet article, je présente Gemfury, l'une des nombreuses options de gestion des référentiels privés. En tant que solution de PaaS, il ne nécessite pas le fardeau supplémentaire des options d'auto-hébergement comme Toran et est plus facile à utiliser que les Satis. Il a également l'énorme avantage de prendre en charge les packages dans une variété de langues, des packages PHP Composer à Ruby Gems et Node.js NPM. Bien s?r, en tant que solution de PaaS, elle doit payer pour cela - mais pourquoi ne pas l'essayer avec un essai gratuit ou un plan unique pour voir si cela vous convient?
(La partie FAQ d'origine est omise ici parce que cette partie est une question fréquemment posée, et elle a une répétition élevée du contenu principal de l'article, et sa valeur n'est pas élevée après la pseudo-originalité.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

ToseCurelyHandleAuthentication andAuthorizationInPhp, suivitheSesteps: 1.AlwayShashPasswordSwithPassword_Hash () etverifyusingPassword_verify (), usePreparedStatementStopReventsQLendiject, andstoreSerDatain $ _SessionAfterLogin.2

Pour gérer en toute sécurité les téléchargements de fichiers dans PHP, le noyau consiste à vérifier les types de fichiers, à renommer les fichiers et à restreindre les autorisations. 1. Utilisez finfo_file () pour vérifier le type de mime réel, et seuls des types spécifiques tels que l'image / jpeg sont autorisés; 2. Utilisez Uniqid () pour générer des noms de fichiers aléatoires et les stocker dans le répertoire racine non Web; 3. Limiter la taille du fichier via les formulaires PHP.ini et HTML et définir les autorisations de répertoire sur 0755; 4. Utilisez Clamav pour scanner les logiciels malveillants pour améliorer la sécurité. Ces étapes empêchent efficacement les vulnérabilités de sécurité et garantissent que le processus de téléchargement de fichiers est s?r et fiable.

En PHP, la principale différence entre == et == est la rigueur de la vérification des types. == La conversion de type sera effectuée avant la comparaison, par exemple, 5 == "5" Renvoie True, et === Demande que la valeur et le type soient les mêmes avant que True sera renvoyé, par exemple, 5 === "5" Renvoie False. Dans les scénarios d'utilisation, === est plus sécurisé et doit être utilisé en premier, et == n'est utilisé que lorsque la conversion de type est requise.

Les méthodes d'utilisation des opérations mathématiques de base en PHP sont les suivantes: 1. Les signes d'addition prennent en charge les entiers et les nombres à virgule flottante, et peuvent également être utilisés pour les variables. Les numéros de cha?ne seront automatiquement convertis mais non recommandés en dépendances; 2. Les signes de soustraction utilisent - les signes, les variables sont les mêmes et la conversion de type est également applicable; 3. Les panneaux de multiplication utilisent * les panneaux, qui conviennent aux nombres et aux cha?nes similaires; 4. La division utilise / signes, qui doit éviter de diviser par zéro, et noter que le résultat peut être des nombres à virgule flottante; 5. Prendre les signes du module peut être utilisé pour juger des nombres impairs et uniformes, et lors du traitement des nombres négatifs, les signes restants sont cohérents avec le dividende. La clé pour utiliser correctement ces opérateurs est de s'assurer que les types de données sont clairs et que la situation limite est bien gérée.

Oui, PHP peut interagir avec les bases de données NoSQL comme MongoDB et Redis à travers des extensions ou des bibliothèques spécifiques. Tout d'abord, utilisez le pilote MongoDBPHP (installé via PECL ou Composer) pour créer des instances clients et faire fonctionner des bases de données et des collections, en prenant en charge l'insertion, la requête, l'agrégation et d'autres opérations; Deuxièmement, utilisez la bibliothèque Predis ou l'extension PHPREDIS pour vous connecter à Redis, effectuer des paramètres et des acquisitions de valeur clé, et recommander PHPredis pour des scénarios à haute performance, tandis que Predis est pratique pour un déploiement rapide; Les deux conviennent aux environnements de production et sont bien documentés.

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20
