administrador.validacion.confs.configuraciones.valida_conf_composer.21.28.0 - gamboamartin/administrador GitHub Wiki

valida_conf_composer

La función valida_conf_composer se encarga de verificar si una clase de configuración definida por el usuario está disponible en el autoloader de Composer.

Signatura

private function valida_conf_composer(string $tipo_conf): true|array

Parámetros

$tipo_conf (string): Una cadena de texto que especifica el tipo de configuración a validar.

Retorna

  • true: La función devuelve verdadero si la clase de configuración está disponible en el autoloader de Composer.
  • array: Si la clase no está disponible, devuelve un array con un mensaje de error que sugiere agregar la definición de la clase en composer.json y ejecutar composer update.

Explicación Detallada

Verifica que el tipo de configuración no esté vacío.

Comprueba si la clase correspondiente al tipo de configuración existe en el espacio de nombres config.

Si la clase no existe, sugiere agregar la definición de la clase en el archivo composer.json y ejecutar composer update.

Retorna verdadero si la clase de configuración está disponible en el autoloader de Composer.

Ejemplos

$tipo_conf = "MiConfiguracion";
$resultado = $this->valida_conf_composer($tipo_conf);
// Resultado esperado: true si la clase 'config\MiConfiguracion' está disponible, de lo contrario, un mensaje de error.

Código de la Función

private function valida_conf_composer(string $tipo_conf): true|array
    {
        $tipo_conf = trim($tipo_conf);
        if($tipo_conf === ''){
            return $this->error->error(mensaje: 'Error $tipo_conf esta vacio',data: $tipo_conf, es_final: true);
        }

        if(!class_exists("config\\$tipo_conf")){

            $data_composer['autoload']['psr-4']['config\\'] = "config/";
            try {
                $llave_composer = json_encode($data_composer, JSON_THROW_ON_ERROR);
            }
            catch (Throwable $e){
                return $this->error->error(mensaje: $mensaje,data: $e, es_final: true);
            }

            $mensaje = "Agrega el registro $llave_composer en composer.json despues ejecuta composer update";
            return $this->error->error(mensaje: $mensaje,data: '', es_final: true);
        }
        return true;
    }