administrador.base.orm.modelo_base.genera_name_modelo.21.8.0 - gamboamartin/administrador GitHub Wiki

genera_name_modelo

Esta función genera el nombre ajustado del modelo dentro de un namespace dado, utilizando funciones auxiliares para obtener namespaces, verificar si el modelo pertenece a un namespace especial y ajustar el nombre del modelo.

Signatura

private function genera_name_modelo(string $modelo, string $namespace_model): array|string


Parámetros

$modelo (string): El nombre completo del modelo que se va a ajustar. $namespace_model (string): El namespace del modelo al que se ajustará el nombre.

Retorna

  • string|array: La función puede devolver un string que representa el nombre ajustado del modelo, o un array con detalles de error en caso de fallo al obtener namespaces, validar namespaces o maquetar el nombre del modelo.

Explicación Detallada

  • Obtención de namespaces: Se llama a la función namespaces para obtener la lista de namespaces disponibles. Si se produce un error durante esta operación, se devuelve un mensaje de error correspondiente.
  • Validación de namespaces especiales: Se llama a la función es_namespace_especial para verificar si el modelo pertenece a algún namespace especial. Si se produce un error durante esta operación, se devuelve un mensaje de error correspondiente.
  • Maquetado del nombre del modelo: Se llama a la función name_modelo para ajustar el nombre del modelo al formato correcto dentro del namespace dado. Si se produce un error durante esta operación, se devuelve un mensaje de error correspondiente.
  • Devolución del nombre ajustado del modelo: Se devuelve el nombre ajustado del modelo o un mensaje de error si se produce algún error en el proceso.

Ejemplos

// Llamada a la función genera_name_modelo
$modelo = 'ModeloEspecial';
$namespace_model = 'gamboamartin\administrador\models';

$resultado = genera_name_modelo($modelo, $namespace_model);

if (is_string($resultado)) {
    echo "Nombre ajustado del modelo: " . $resultado;
} else {
    echo "Error: " . $resultado['mensaje'];
}

/*En este ejemplo, se llama a la función genera_name_modelo con los parámetros correspondientes. Dependiendo del resultado, se imprime el nombre ajustado del modelo o el mensaje de error correspondiente si se produce algún error.*/

Código de la Función

private function genera_name_modelo(string $modelo, string $namespace_model): array|string
    {
        $namespaces = $this->namespaces();
        if(errores::$error){
            return  $this->error->error(mensaje: "Error al obtener namespaces",data: $namespaces);
        }

        $es_namespace_especial = $this->es_namespace_especial(
            modelo: $modelo,namespaces:  $namespaces);
        if(errores::$error){
            return  $this->error->error(mensaje: "Error al validar namespaces",data: $es_namespace_especial);
        }

        $modelo = $this->name_modelo(es_namespace_especial: $es_namespace_especial,
            modelo:  $modelo,namespace_model:  $namespace_model);
        if(errores::$error){
            return  $this->error->error(mensaje: "Error al maquetar name modelo",data: $modelo);
        }

        return $modelo;

    }