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;


    }