Si comme moi, vous êtes novices dans l'externalisation d'un bundle, alors bienvenue ! J'ai depuis peu mis à disposition sur packagist mon premier bundle et voici mon retour.
Note : Je travaille ici avec Symfony 3
1ère étape
$ bin/console generate:bundle
Are you planning on sharing this bundle across multiple applications? [no]: yes
...
Everything is OK! Now get to work :).
Lors de la génération de votre bundle avec la commande symfony, n'oubliez pas de répondre yes à la première question afin qu'il nous génère automatiquement les fichiers nécessaires au partage de notre bundle.
Si vous ne l'avez pas fait, je vous laisse copier le contenu du dossier DependencyInjection en l'adaptant à votre bundle.
2ième étape
Une fois le bundle terminé, il nous est nécessaire de le configurer afin que d'autres personnes puisse l'utiliser en dehors de notre projet.
Le fichier composer.json
Créons donc, à racine du bundle (dans mon cas, dans le dossier HtmlMetaCrawlerBundle), le fichier composer.json qui permettra à composer de gérer ce bundle .
Adaptez y le code suivant :
{
"name": "votre-organisation/votre-nom-de-bundle",
"description": "Votre description",
"type": "symfony-bundle",
"authors": [
{
"name": "gkueny",
"email": "gateankueny@gmail.com"
}
],
"keywords": ["Vos mot clés"],
"license": ["MIT"],
"require": {},
"autoload": {
"psr-4": {
"GK\\HtmlMetaCrawlerBundle\\": "src"
}
}
}
3ième étape
Pour partager votre bundle via packagist, il nous faut maintenant l'héberger sur github.
À la racine de votre dépôt, copiez le fichier composer.json et créer le dossier src. Puis copier le contenu de votre bundle dans ce nouveau dossier.
Il ne vous manque plus que de vous rendre sur le site de packagist pour soumettre votre nouveau bundle.
Aide
- Dépôt github de mon premier bundle externe GKHtmlMetaCrawlerBundle
- How to Load Service Configuration inside a Bundle
- How to Create Friendly Configuration for a Bundle