En la configuración de enrutamiento de un Symfony2 aplicación, que puede hacer referencia a un archivo de la siguiente manera:accede a los archivos relativa a bulto en Symfony2
somepage:
prefix: someprefix
resource: "@SomeBundle/Resources/config/config.yml"
¿Hay alguna manera de acceder a un archivo en relación con el paquete dentro de un controlador u otro Código PHP? En particular, estoy tratando de usar un objeto Symfony \ Component \ Yaml \ Parser para analizar un archivo, y no quiero referirme a ese archivo en absoluto. En esencia, lo que quiero hacer esto:
$parser = new Parser();
$config = $parser->parse(file_get_contents("@SomeBundle/Resources/config/config.yml"));
He comprobado a cabo la clase \ Buscador \ Buscador de Symfony \ Component, pero no creo que eso es lo que estoy buscando. ¿Algunas ideas? ¿O tal vez estoy pasando por alto una mejor manera de hacer esto?
¡Exactamente lo que estaba buscando! $ this-> get ('kernel') -> locateResource ("@ SomeBundle/Resources/config/config.yml"); // funcionó perfectamente –
@ tomtheman5: asegúrese de detectar sus excepciones. Este método arroja '\ InvalidArgumentException', si el archivo no se puede encontrar o el nombre no es válido, y' \ RuntimeException', si el nombre contiene caracteres no válidos/inseguros. – gilden
Me encantaría darte más que solo +1. – flu