Un package est un ensemble de fonctionnalités pouvant être rattaché à un framework (php)
Pour installer un package sur Laravel, il faut le requêter dans le fichier composer.json
Pour tester un package sur Laravel, il faut créer un package test en utilisant Orchestral Testbench
Pour que l'utilisateur n'ai pas à ajouter manuellement ses service providers à la liste du config/app.php, il faut les définir dans la partie 'extra' du composer.json
Définir les fichiers de configuration dans le dossier config de l'application permet à l'utilisateur de passer outre la configuration par défaut . Pour ce faire il faut utiliser les méthodes publishes de la méthode boot du service provider. aInsi quand les utilisateurs du package utiliseront la commande vendor:publish les nouvelles configurations seront prises en compte.
mergeConfigForm permet de définir les configuration qu'on souhaite conserver
Attention cette méthode ne prend que le premier niveau d'un array.
La méthode loadRoutesFrom permet de charger les routes contenues dans le package
La méthode loadMigrationFrom permet de charger les migrations contenues dans le package
La méthode loadTranslationFrom permet de charger les traductions contenues dans le package
La méthode loadViewsFrom permet de charger les vues contenues dans le package
La méthode publishes est aussi disponible pour les vues
Les commandes artisan du package peuvent être enregistrée avec Laravel avec la méthode commands puis exécutées avec Artisan CLI
La méthode loadViewsFrom permet de charger les vues contenues dans le package
La méthode publishes est aussi disponible pour les vues
La méthode publishes permet également d'ajouter les assets du package au dossier public de l'application
Pour publier séparement des groupes de fichier il est possible d'utiliser un tag au moment de l'appel de la méthode publishes
php artisan vendor:publish --tag=foo