2012-05-07 17 views
8

Quiero saber la raíz de la aplicación de ambos sistemas, por ejemplo. /var/www/app/ o /app/ con el propósito de subir archivos. Cuando cargo, creo que necesito el nombre del directorio del "sistema", para utilizarlo en los enlaces de la interfaz web, necesito la ruta "relativa". ¿Cómo obtengo esta información?Obtener la URL raíz de la aplicación y el nombre del directorio en la aplicación Symfony 2

En un proyecto anterior, que define constantes en los archivos app*.php (controlador frontal)

define('APP_ROOT', __DIR__); 

Wonder, si tener una mejor manera?

Respuesta

16

En cualquier clase ContainerAware se puede obtener la ubicación del directorio de la tela por,

$this->container->get('kernel')->getRootdir().'/../web'; 
+0

hmm ... Estoy en mi modelo de Doctrine aunque ... supongo que usaré mi método anterior. Debería tener esto en mente aunque. –

+2

¿No debería ser una buena práctica usar DIRECTORY_SEPARATOR en lugar de '/' para definir varias rutas, en caso de que el proyecto se aloje en un entorno de Windows? –

+0

@BiggieMac http://alanhogan.com/tips/php/directory-separator-not-necessary – maryisdead

9

Si el recipiente no está disponible, puede utilizar dependency injection: set %kernel.root_dir% como un argumento a su clase en la configuración del servicio.

Cuestiones relacionadas