administrador.base.orm.filtros.inicializa_complemento - gamboamartin/administrador GitHub Wiki

inicializa_complemento

La función inicializa_complemento se encarga de inicializar un objeto stdClass llamado $complemento asegurándose de que contenga todas las claves necesarias. Estas claves son obtenidas a través de la función keys_complemento, y luego se inicializan en el objeto $complemento utilizando la función init_complemento. Si ocurre algún error en el proceso de obtención de claves o inicialización, se devuelve un array con los detalles del error.

Signatura

private function inicializa_complemento(stdClass $complemento): array|stdClass

Parámetros

stdClass $complemento

  • Tipo: stdClass
  • Descripción: El objeto que se debe inicializar con las claves necesarias. Si alguna clave no está presente, se inicializa con una cadena vacía.

Retorno

array|stdClass

  • Tipo: array o stdClass
  • Descripción:
    • Si la operación es exitosa, devuelve el objeto $complemento con todas las claves inicializadas.
    • Si ocurre un error, devuelve un array con un mensaje de error y los detalles correspondientes.

Explicación Detallada

  1. Obtención de las claves necesarias:

    • La función comienza obteniendo las claves necesarias para inicializar el objeto $complemento llamando a keys_complemento. Si ocurre algún error en este paso, se captura y se devuelve un mensaje de error.
    $keys = $this->keys_complemento();
    if (errores::$error) {
        return $this->error->error(mensaje: 'Error al obtener keys', data: $keys);
    }
    
  2. Inicialización del objeto $complemento:

    • Luego, se llama a la función init_complemento para inicializar el objeto $complemento con las claves obtenidas. Si ocurre un error en este paso, se captura y se devuelve un mensaje de error.
    $complemento = $this->init_complemento(complemento: $complemento, keys: $keys);
    if (errores::$error) {
        return $this->error->error(mensaje: 'Error al inicializar complemento', data: $complemento);
    }
    
  3. Retorno del objeto $complemento:

    • Si todo el proceso es exitoso, la función devuelve el objeto $complemento con las claves inicializadas.
    return $complemento;
    

Ejemplo de uso

$complemento = new stdClass();

$resultado = $this->inicializa_complemento($complemento);

// Resultado esperado:
// $complemento contiene las claves obtenidas de `keys_complemento`, inicializadas con cadenas vacías si no estaban presentes.

Código de la Función

private function inicializa_complemento(stdClass $complemento): array|stdClass
    {
        $keys = $this->keys_complemento();
        if(errores::$error){
            return $this->error->error(mensaje:'Error al obtener keys',data:$keys);
        }

        $complemento = $this->init_complemento(complemento:$complemento,keys: $keys);
        if(errores::$error){
            return $this->error->error(mensaje:'Error al inicializar complemento',data:$complemento);
        }
        return $complemento;
    }