Mon premier bundle externe

Publié le 08 juin 2016
#symfony# mobile

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

gkueny

À propos de l'auteur - gkueny @ZEBet

Développeur depuis maintenant 6 ans, j'ai une grande affinité avec le mobile et les tests bien fait. Pas full-stack mais touche à tout, je suis également à l'aise sur du Symfony / php.