Convenciones de nombres en bundles de Symfony

Los bundles en Symfony que sean reusables han de seguir una serie de estándares a la hora de nombrarse

Contenido modificable

Si ves errores o quieres modificar/añadir contenidos, puedes crear un pull request. Gracias

Los bundles pueden ser específicos de una aplicación o reusables. Para que sean reusables es necesario que sigan una serie de convenciones de nombrado.

Un bundle es también un namespace PHP. El namespace debe seguir los estándares PSR-0 o PSR-4: comienza con un vendor, seguido de cero o más segmentos categóricos, y termina con el nombre corto del namespace, que debe terminar con el sufijo Bundle.

Un namespace se convierte en bundle cuando se le añade una clase bundle. El nombre de la clase bundle debe seguir unas simples reglas:

  • Utiliza sólo caracteres alfanuméricos y barras bajas.
  • Utiliza un nombre camelCase.
  • Utiliza un nombre corto y descriptivo (no más de dos palabras).
  • Añade un prefijo al nombre con la concatenación del vendor (y opcionalmente los namespaces categóricos).
  • Utiliza el sufijo Bundle.

Ejemplos de bundle namespaces y nombres de clases:

Namespace Bundle Class Name
Acme\Bundle\BlogBundle AcmeBlogBundle
Acme\BlogBundle AcmeBlogBundle

Por convención, el método getName() de la clase bundle debe devolver del nombre de la clase.

Si compartes el bundle públicamente, debes usar el nombre de clase del bundle como el nombre del repositorio (AcmeBlogBundle y no BlogBundle por ejemplo).

Los bundles del core de Symfony no tienen como prefijo el nombre de la clase y siempre añaden el sufijo Bundle. Por ejemplo: FrameworkBundle.

Cada bundle tiene un alias, que es la versión corta en minúsculas del nombre del bundle utilizando barras bajas (acme_blog para AcmeBlogBundle). Este alias se utiliza para aplicar unicidad dentro de un proyecto y para definir las opciones de configuración del bundle.