====== Créer un package Laravel ====== ==== Installation de Laravel ==== ``` mkdir monprojet cd monprojet composer create-project laravel/laravel --prefer-dist . ``` ==== Dossier du package ==== Créer un dossier `packages` à la racine du projet puis ajouter un dossier `[VENDORNAME]/[PACKAGENAME]`. Exemple : `sebastienheyd/monpackage`. Dans ce dossier ajouter un dossier `src` ``` mkdir -p packages/[VENDORNAME]/[PACKAGENAME]/src ``` ==== Composer.json du package ==== On génère ensuite le composer.json en saisissant la commande : ``` cd packages/[VENDORNAME]/[PACKAGENAME] composer init ``` ==== Composer.json du projet ==== Une fois fait, on modifie le composer.json à la racine du projet pour déclarer le package : ``` "minimum-stability": "dev", "repositories": [{ "type": "path", "url": "packages/*/*", "symlink": true }], "require": { // ... "[VENDORNAME]/[PACKAGENAME]": "*" }, ``` Pour finir on lance : ``` composer update ``` ==== Créer un service provider ==== Pour créer le service provider : ``` php artisan make:provider MonpackageServiceProvider ``` Puis déplacer le fichier généré dans le dossier du package : ``` mv app/Providers/MonpackageServiceProvider packages/[VENDORNAME]/[PACKAGENAME]/src ``` **Attention à bien changer le namespace dans le provider par `[VENDORNAME]\[PACKAGENAME]`** Dans le composer.json du package on ajoute l'autodiscover : ``` "extra": { "laravel": { "providers": [ "[VENDORNAME]\\[PACKAGENAME]\\MonpackageServiceProvider" ] } } ``` Pour la suite, voir ici : https://laraveldaily.com/how-to-create-a-laravel-5-package-in-10-easy-steps/