Développement de Composants

RTFM

Qu'est ce qu'un package?

Un package est un ensemble de fonctionnalités pouvant être rattaché à un framework (php)

Comment installer un package?

Pour installer un package sur Laravel, il faut le requêter dans le fichier composer.json

Comment tester un package?

Pour tester un package sur Laravel, il faut créer un package test en utilisant Orchestral Testbench

Package et providers

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

Configuration

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.

Routes

La méthode loadRoutesFrom permet de charger les routes contenues dans le package

Migrations

La méthode loadMigrationFrom permet de charger les migrations contenues dans le package

Traduction

La méthode loadTranslationFrom permet de charger les traductions contenues dans le package

Les vues

La méthode loadViewsFrom permet de charger les vues contenues dans le package

La méthode publishes est aussi disponible pour les vues

Commandes Artisan 

Les commandes artisan du package peuvent être enregistrée avec Laravel avec la méthode commands puis exécutées avec Artisan CLI

Commands

La méthode loadViewsFrom permet de charger les vues contenues dans le package

La méthode publishes est aussi disponible pour les vues

Les public assets

La méthode publishes permet également d'ajouter les assets du package au dossier public de l'application 

Publier des groupes de fichiers

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

Made with Slides.com