administrador.base.orm.modelo_base.name_modelo_ajustado.21.8.0 - gamboamartin/administrador GitHub Wiki
name_modelo_ajustado
Esta función ajusta el nombre de un modelo al formato correcto dentro de un namespace dado.
Signatura
private function name_modelo_ajustado(string $modelo, string $namespace_model): string|array
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 devuelve un string que representa el nombre ajustado del modelo dentro del namespace dado. En caso de un error, devuelve un array con detalles del error.
Explicación Detallada
- Verificación del namespace vacío: Se verifica si el namespace proporcionado está vacío. Si es así, se devuelve un mensaje de error indicando que el namespace está vacío.
- Verificación del modelo vacío: Se verifica si el nombre del modelo proporcionado está vacío. Si es así, se devuelve un mensaje de error indicando que el modelo está vacío.
- Eliminación del namespace del modelo: Se elimina el namespace del modelo, si está presente, utilizando la función str_replace.
- Eliminación del prefijo "models" del modelo: Se elimina el prefijo "models" del modelo, si está presente, utilizando la función str_replace.
- Ajuste del nombre del modelo: Se concatena el namespace proporcionado con el nombre del modelo ajustado, utilizando el operador de concatenación de cadenas (.).
- Devolución del nombre ajustado del modelo: Se devuelve el nombre ajustado del modelo dentro del namespace dado.
Ejemplos
// Llamada a la función name_modelo_ajustado
$modelo = 'gamboamartin\administrador\models\ModeloEspecial';
$namespace_model = 'gamboamartin\administrador\models';
$resultado = name_modelo_ajustado($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 name_modelo_ajustado con un modelo y un namespace. 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 name_modelo_ajustado(string $modelo, string $namespace_model): string|array
{
$namespace_model = trim($namespace_model);
if($namespace_model === ''){
return $this->error->error(mensaje: "Error namespace_model esta vacio",data: $namespace_model);
}
if($modelo === ''){
return $this->error->error(mensaje: "Error modelo esta vacio",data: $modelo);
}
$modelo = str_replace($namespace_model, '', $modelo);
$modelo = str_replace('models\\', '', $modelo);
return $namespace_model.'\\'.$modelo;
}