administrador.base.orm.inicializacion.ajusta_params - gamboamartin/administrador GitHub Wiki

ajusta_params

La función ajusta_params se encarga de verificar si la propiedad params está definida dentro del objeto stdClass llamado $complemento. Si no está definida, la función llama a init_params para inicializar los parámetros estándar necesarios (offset, group_by, order, y limit). Si se produce algún error al inicializar estos parámetros, se devuelve un array de error. En caso de éxito, devuelve el objeto $complemento modificado con los parámetros inicializados o el objeto tal como se recibió si params ya estaba definido.

Signatura

final public function ajusta_params(stdClass $complemento): array|stdClass

Parámetros

stdClass $complemento

  • Tipo: stdClass
  • Descripción: El objeto que será verificado y ajustado. Si la propiedad params no está definida, se inicializará con los parámetros estándar a través de la función init_params.

Retorno

array|stdClass

  • Tipo: array o stdClass
  • Descripción:
    • Si la propiedad params ya está definida, la función devuelve el objeto $complemento sin modificaciones.
    • Si la propiedad params no está definida, la función la inicializa y devuelve el objeto $complemento modificado.
    • Si ocurre un error durante la inicialización de params, devuelve un array de error con los detalles.

Explicación Detallada

  1. Verificación de la propiedad params:

    • La función verifica si la propiedad params está definida dentro del objeto $complemento. Si no lo está, procede a inicializarla.
    if (!isset($complemento->params)) {
        $complemento = $this->init_params(complemento: $complemento);
    }
    
  2. Inicialización de params:

    • Si la propiedad params no existe, la función llama a init_params para inicializarla con los valores predeterminados (offset, group_by, order, limit).
    • Si se produce un error durante la inicialización, la función devuelve un array de error con un mensaje explicativo.
    if (errores::$error) {
        return $this->error->error(mensaje: 'Error al inicializar params', data: $complemento);
    }
    
  3. Retorno del objeto ajustado o del objeto original:

    • Si params ya está definido o después de la inicialización exitosa, la función devuelve el objeto $complemento.
    return $complemento;
    

Ejemplos

$complemento = new stdClass();
$resultado = $this->ajusta_params($complemento);

// Si `params` no está definido, el resultado será:
// $complemento->params->offset = '';
// $complemento->params->group_by = '';
// $complemento->params->order = '';
// $complemento->params->limit = '';

Código de la Función

final public function ajusta_params(stdClass $complemento): array|stdClass
    {
        if(!isset($complemento->params)){
            $complemento = $this->init_params(complemento: $complemento);
            if(errores::$error){
                return $this->error->error(mensaje: 'Error al inicializar params',data: $complemento);
            }
        }
        return $complemento;
    }