Blog Mauricio Alpizar Lumen/Laravel Llamado de una función dentro de otra función dentro del Controller de Lumen o Laravel

Llamado de una función dentro de otra función dentro del Controller de Lumen o Laravel

El caso es el siguiente:

En un momento particular implementé una función llamada X(Request $request,$idCliente) dentro de mi controller y que retorna un mapa de datos; este método o función es llamado por método GET desde mi router.php

Posteriormente, implementé otra función dentro de ese mismo controlador, llamada Y(Request $request, $idCliente) , que lo que hace es actualizar cierta información del cliente, pero Yo deseaba que el retorno de datos después de esta actualización fuese el mismo mapa de la función X ( para reutilizar el código) – no iba a duplicar el mismo código para generar el mismo resultado 🙁

Entonces la solución era llamar a la función X dentro del dominio de la función Y, pero se debe hacer por medio de un Request para que esto funcione, no es tan sencillo como escribir:

$this->functionX();

Ejemplo del Código que me funciono para lograr el propostito:

NOTA: pueden existir otras – no digo que sea la unica – pero esta me la instruyo un Senior Developer llamada Danny Mora – Gracias Danny estos son tus créditos 🙂


public function X(Request $request, $idCliente){
   ..
   Retorna un JSON de datos.
   ..
}


public function Y(Request $request, $idCliente){

        $myRequest = new \Illuminate\Http\Request();
        $myRequest->setMethod('GET');
        $myRequest->request->add(['idCliente' => $idCliente]);

        return $this->X($myRequest,$idCliente);

}

Related Post