Vous souhaitez ajouter une fonctionnalité à votre application via un paquet ? Voici un tour d’horizon de la phase de développement.
On admet qu’on dispose d’une application qui a un fichier composer.json
à sa racine.
Petit rappel, ce fichier est la carte d’identité de votre application, il contient sa définition et ses exigences, notamment vis à vis de ses dépendances.
Créer le paquet
On va créer le dossier de notre paquet au même niveau d'arborescence que celui de notre application :
1mkdir tuto-hello-world2cd tuto-hello-world3composer init
Ensuite on répond au questionnaire en indiquant notamment que l’on développe une library
, ainsi on obtient un fichier composer.json
semblable à ceci :
1{ 2 "name": "tuto/hello-world", 3 "description": "Développement d'un paquet en local", 4 "type": "library", 5 "autoload": { 6 "psr-4": { 7 "Tuto\\HelloWorld\\": "src/" 8 } 9 },10 "require": {}11}
Afin de tester, par la suite, la bonne intégration de notre paquet dans notre application, on crée une classe ici src/Hello.php
qui contient le code suivant :
1<?php 2 3namespace Tuto\HelloWorld; 4 5class Hello 6{ 7 public function say(): string 8 { 9 return 'Hello world';10 }11}
Déclarer la source de votre dépôt
Avant d’intégrer notre paquet à notre application, il est nécessaire que celle-ci est connaissance de l’emplacement du paquet, pour cela on rajoute un repository
de cette manière :
1composer config repositories.package path ../tuto-hello-world
A partir de maintenant, composer va chercher des paquets correspondants à ses dépendances sur le site Packagist mais aussi au niveau du chemin que l’on a renseigné, c’est à dire le paquet en développement.
Définir votre paquet comme dépendance
Cette étape est commune à tous les paquets, on déclare la dépendance comme ceci :
1composer require tuto/hello-world:*
Cela aura pour effet d’intégrer le paquet dans le dossier vendor
de notre application via un lien symbolique, ce qui veut dire que l’on peut modifier les sources de notre paquet indistinctement depuis le dossier de notre application ou bien celui de notre paquet, plutôt pratique n’est-ce pas ?
Et voilà, on peut dorénavant utiliser notre classe Tuto\HelloWorld\Hello
n'importe où dans notre application !
A lire
Autres articles de la même catégorie

Comment du cache sur Eloquent a sauvé notre application
Retour d’expérience d'une application Laravel qui a subi de graves dysfonctionnements de base de données, découvrez comment la mise en cache des requêtes Eloquent l’a sauvée !

Mathieu De Gracia

Automatisez vos tests avec GitHub Actions
Tester, c'est douter ? Avec GitHub Actions, évitez les sueurs froides et les bugs sur votre application Laravel.

Antoine Benevaut

Notifier ses utilisateurs via les websockets
Dans ce tutoriel, on va s'appuyer sur un outil puissant de Laravel pour notifier facilement nos utilisateurs via websocket.

William Suppo