La edición estándar de Symfony2 viene con una demo completa que vive dentro de un paquete llamado AcmeDemoBundle. Es un gran texto modelo al cual referirte mientras empiezas un proyecto, pero probablemente quieras eliminarlo finalmente.
Truco
Este artículo utiliza el AcmeDemoBundle como ejemplo, pero puedes utilizar estos pasos para eliminar cualquier paquete.
Para desconectar el paquete de la plataforma, lo deberías quitar del método Appkernel::registerBundles(). El paquete normalmente se encuentra en el arreglo $bundles pero el ``AcmeDemoBundle sólo se registra en un entorno de desarrollo y lo puedes encontrar en la siguiente declaración if:
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(...);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
// comenta o elimina esta línea:
// $bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
// ...
}
}
}
Ahora que Symfony no sabe sobre el paquete, necesitas quitar toda su configuración y enrutado dentro del directorio app/config que refiera al paquete.
El enrutado para el AcmeDemoBundle se puede encontrar en app/config/routing_dev.yml. Las rutas son _welcome, _demo_secured y _demo. Quita esas tres entradas.
Algunos paquetes contienen configuración en uno de los archivos en app/config/config*.yml. Asegúrate de sacar la configuración relacionada de esos archivos. Rápidamente puedes determinar la configuración del paquete en el sitio buscando una cadena acme_demo (o alguna cosa que nombre el paquete, p. ej. fos_user para el FOSUserBundle) en los archivos de configuración.
El AcmeDemoBundle no tiene configuración. Sin embargo, se utiliza el paquete en la configuración del archivo app/config/security.yml. Lo puedes utilizar como texto modelo para tu propia seguridad, pero también puedes quitar todo: A Symfony no le importa si lo quitas o no.
Ahora que has quitado toda referencia al paquete en tu aplicación, deberías quitar el paquete del sistema de archivos. El paquete se localiza en el directorio src/Acme/DemoBundle. Deberías quitar ese directorio y también puedes quitar el directorio Acme.
Truco
Si no sabes la ubicación de un paquete, puedes utilizar el método getPath() para conseguir la ruta del paquete:
echo $this->container->get('kernel')->getBundle('AcmeDemoBundle')->getPath();
Nota
Esto no aplica al AcmeDemoBundle — ningún otro paquete depende de él, así que puedes omitir este paso.
Algunos paquetes dependen de otros paquetes, si quitas uno de los dos, el otro probablemente no trabaje. Asegúrate que ningún otro paquete, de terceros o personalizado, dependa del paquete que estás a punto de quitar.
Truco
Si un paqute depende de otro, significa que este utiliza algunos servicios del paquete. Buscar una cadena acme_demo te puede ayudar descubrirlos.
Truco
Si un paquete de terceros depende de otro, puedes encontrar ese paquete mencionado en el archivo composer.json incluido en el directorio bundle.