src.where.verifica_tipo_filtro - gamboamartin/where GitHub Wiki

verifica_tipo_filtro

Esta función verifica si el tipo de filtro proporcionado es válido. Los tipos de filtro permitidos son 'numeros' y 'textos'.

Signatura

final public function verifica_tipo_filtro(string $tipo_filtro): true|array

Parámetros

$tipo_filtro (string): El tipo de filtro que se va a verificar.

Retorna

  • array|true: La función devuelve true si el tipo de filtro es válido. En caso contrario, devuelve un array que contiene detalles del error.

Explicación Detallada

  • Eliminación de espacios en blanco: Se elimina cualquier espacio en blanco del tipo de filtro utilizando la función trim.
  • Definición de tipo por defecto: Si el tipo de filtro está vacío después de eliminar los espacios en blanco, se establece el tipo por defecto como 'numeros'.
  • Verificación de tipo válido: Se compara el tipo de filtro con un array de tipos permitidos ('numeros' y 'textos'). Si el tipo de filtro no se encuentra en la lista de tipos permitidos, se devuelve un mensaje de error indicando que el tipo de filtro no es correcto y se proporciona el tipo de filtro proporcionado como información adicional.
  • Devolución del resultado: Si el tipo de filtro es válido, se devuelve true. De lo contrario, se devuelve un mensaje de error indicando la causa del fallo.

Ejemplos

// Llamada a la función verifica_tipo_filtro
$tipo_filtro = 'numeros';

$resultado = verifica_tipo_filtro($tipo_filtro);

if ($resultado === true) {
    echo "El tipo de filtro es válido.";
} else {
    echo "Error: " . $resultado['mensaje'];
}

/*En este ejemplo, se llama a la función verifica_tipo_filtro con un tipo de filtro válido. Dependiendo del resultado, se imprime un mensaje indicando que el tipo de filtro es válido o el mensaje de error correspondiente si se produce algún problema.

*/

Código de la Función

final public function verifica_tipo_filtro(string $tipo_filtro): true|array
    {
        $tipo_filtro = trim($tipo_filtro);
        if($tipo_filtro === ''){
            $tipo_filtro = 'numeros';
        }
        $tipos_permitidos = array('numeros','textos');
        if(!in_array($tipo_filtro,$tipos_permitidos)){

            $params = new stdClass();
            $params->tipo_filtro = $tipo_filtro;

            return $this->error->error(
                mensaje: 'Error el tipo filtro no es correcto los filtros pueden ser o numeros o textos',
                data: $params, es_final: true);
        }
        return true;
    }