Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Cómo pasar parámetros a los servicios Symfony en tiempo de ejecución

12 de marzo de 2015

Hola, un saludo a todos.

Como sé que acá hay gente llena de luz y sabiduría, vengo a preguntar :D...

¿Cómo le puedo pasar parámetros a un servicio desde el controlador?

Quiero hacer:

$this->container->setParameter('parametro.cambiar', $parametro);
$servicio = $this->get('mi_bello_servicio');

Quedo atento,


Respuestas

#1

El caso que comentas no es habitual y por tanto, es posible que no sea exactamente lo que quieres hacer. Los parámetros de configuración del servicio normalmente se pasan al constructor del servicio y por tanto, se indican en el archivo de configuración donde defines el servicio.

# app/config/config.yml
services:
    app.mi_servicio:
        class: AppBundle\Servicio\LoQueSea
        arguments: ['argumento 1', 'argumento 2', '@servicio1', '@servicio2']

Después, a los métodos que ejecutes dentro de ese servicio sí que les puedes pasar parámetros como si fueran argumentos normales y corrientes de PHP:

$resultado = $this->get('app.mi_servicio')->hazAlgo($argumento1, $argumento2);

@javiereguiluz

12 marzo 2015, 20:04
#2

Gracias!

@cristian_angulo

12 marzo 2015, 21:26