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

name_modelo_base

Esta función devuelve el nombre base de un modelo dado, eliminando cualquier prefijo o namespace adicional y agregando el prefijo "models".

Signatura

private function name_modelo_base(string $modelo): string|array

Parámetros

$modelo (string): El nombre completo del modelo que se va a normalizar.

Retorna

  • string|array: La función devuelve un string que representa el nombre base del modelo. En caso de un error, devuelve un array con detalles del error.

Explicación Detallada

  • Verificación del modelo vacío: La función verifica si el modelo proporcionado está vacío. Si es así, devuelve un mensaje de error indicando que el modelo está vacío.
  • Eliminación de prefijo de namespace: Se elimina cualquier prefijo de namespace del modelo. Esto se hace reemplazando "models" (o "models/") por una cadena vacía en el nombre del modelo.
  • Adición del prefijo "models": Se agrega el prefijo "models" al nombre base del modelo para asegurar que tenga el formato correcto.
  • Devolución del nombre base del modelo: Se devuelve el nombre base del modelo.

Ejemplos

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

$resultado = name_modelo_base($modelo);

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

Código de la Función

private function name_modelo_base(string $modelo): string|array
    {
        $modelo = trim($modelo);
        if($modelo === ''){
            return  $this->error->error(mensaje: "Error modelo esta vacio",data: $modelo, es_final: true);
        }
        $modelo = str_replace('models\\', '', $modelo);
        return 'models\\' . $modelo;

    }