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;
}