Maison >développement back-end >tutoriel php >Comment construire une roue avec composer
Composer est un outil de gestion des dépendances pour PHP. Cet article explique comment créer un package et le soumettre à Packagist, afin que d'autres puissent facilement utiliser votre package via composer.
Il y a les étapes suivantes pour développer un package composer :
Initialiser le fichier composer.json
Définir l'espace de noms et le nom du package
Fonction requise pour implémenter le package
Soumettre à GitHub
Enregistrer le package sur Packagist
Après avoir installé composer, vous pouvez l'exécuter localementcomposer init
Définissez composer.json via la ligne de commande interactive.
Ce qui suit présente plusieurs des attributs, ainsi que les paramètres généraux :
Cet attribut définit le nom du package, séparé par /, le précédent l'un est la fourniture. Le nom du fournisseur, suivi du nom du package, est un nom unique fourni par le site Web Packagist du représentant du fournisseur aux développeurs pour organiser les packages et éviter les conflits de noms. Par conséquent, lors de la soumission, il est préférable de visiter https://packagist.org/packages/yourvendorname et de remplacer votre nom de fournisseur dans l'URL par le nom souhaité. Si la page n'a pas 404, cela signifie qu'elle a été enregistrée.
Licence. Concernant les licences, il est recommandé de lire deux articles : Introduction aux licences de projet open source et comment choisir la licence
Dépendances requises pour installer le package actuel. Le package actuel ne sera installé que si toutes les dépendances sont installées.
Cette configuration utilise principalement les paramètres PSR-4 ou PSR-0, et il est plus recommandé d'utiliser la norme PSR-4.
http://json-schema.org/ présente la définition du schéma JSON et la mise en œuvre de ses différentes fonctions dans différents langages, y compris la mise en œuvre du validateur, parmi lesquels JSON Schema Validator est un outil en ligne vérification Servir. En fait, le moyen le plus simple est d'utiliser composer validate composer.json
pour vérifier si le fichier contient des erreurs.
La structure du projet est une structure MVC typique
. └── geo └── geosso ├── LICENSE ├── README.md ├── composer.json └── src ├── Contracts ├── Http │ ├── Controllers │ ├── Middleware │ └── Requests ├── ParamsBean ├── Providers ├── Support └── config12 directories
LICENSE, README.md et composer.json sont ajoutés manuellement après l'exécution de tree -d
.
Le répertoire racine du projet est défini sous src et est également défini dans composer.json, de sorte que lorsque composer charge ce package, il sache comment résoudre le chemin du fichier via l'espace de noms.
Le répertoire HTTP représente la réponse à la demande, les contrôleurs ci-dessous représentent le contrôleur de la demande légale, le middleware représente le premier niveau de la demande, interceptant la demande via le middleware, et les demandes pour obtenir la demande frontale et filtrer la demande.
Les contrats représentent la définition de l'interface. ParamsBean représente l'encapsulation des paramètres lorsque la couche application communique avec le service sous-jacent. Il utilise le Bean pour obtenir chaque paramètre au lieu de transmettre un tableau pour rendre les appels cohérents. Il force également la détection de type lors de l'appel de l'interface, ce qui peut largement unifier le paramètre. transfert entre les couches.
Les fournisseurs représentent le conteneur de services de Laravel. Grâce au conteneur de services, vous pouvez enregistrer des routes et des configurations, charger des classes d'assistance et lier des interfaces et leurs implémentations.
La prise en charge concerne certaines classes d'assistance qui encapsulent des fonctions couramment utilisées qui n'ont rien à voir avec la logique. config représente la propre configuration de l'application, via config, la configuration peut être facilement définie et appelée à l'aide de la fonction globale config()
.
Suivez les étapes précédentes, un package aura un squelette de base. L'étape suivante consiste à le télécharger sur GitHub, à configurer le projet, à intégrer les services d'intégration continue et à émettre un. licence de projet open source.
Lorsque GitHub initialise le projet, vous pouvez choisir de générer un fichier .gitignore, sélectionner une licence, initialiser le fichier README.md, basculer vers le répertoire du projet local et suivre les étapes suivantes pour télécharger le répertoire dans GitHub :
git init # 初始化仓库git remote set-url origin --push --add git@github.com:jayxhj/geosso.git # 添加远程追踪仓库地址git add . git commit git push origin master
Packagist est l'adresse par défaut permettant au compositeur d'obtenir les informations sur les métadonnées du package. Après avoir obtenu les informations sur les métadonnées de Packagist, extrayez le code de GitHub. Par conséquent, après avoir téléchargé le package que vous développez sur GitHub, vous devez l'enregistrer auprès de Packagist afin que les utilisateurs du monde entier puissent extraire votre code via Composer.
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!