administrador.base.ctl.nomalizacion_ctl.clase_model - gamboamartin/administrador GitHub Wiki
clase_model
La función clase_model
es una función pública que determina el nombre completo de la clase del modelo asociado a una sección de un controlador. La función verifica que la sección no esté vacía y luego construye el nombre de la clase con el espacio de nombres adecuado.
Signatura
final public function clase_model(controler $controler): string|array
Parámetros
controler $controler
:
Una instancia de la clasecontroler
que contiene la información sobre la sección actual del controlador. La propiedadseccion
del controlador es utilizada para determinar la clase del modelo.
Retorno
string|array
:
Retorna una cadena que representa el nombre completo de la clase del modelo, incluyendo el espacio de nombresmodels\\
. En caso de error, retorna un array de error generado por$this->error->error()
.
Explicación Detallada
-
Verificación de la sección:
- La función verifica que la propiedad
seccion
del controlador no esté vacía. - Si
seccion
está vacía, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función verifica que la propiedad
-
Construcción del nombre de la clase del modelo:
- La función elimina el prefijo
models\\
de la propiedadseccion
, si está presente. - Luego, construye el nombre completo de la clase del modelo concatenando el espacio de nombres
models\\
con el valor deseccion
.
- La función elimina el prefijo
-
Retorno del nombre de la clase del modelo:
- La función retorna una cadena que representa el nombre completo de la clase del modelo.
Ejemplos
$controler = new controler();
$controler->seccion = 'models\\usuarios';
$nombre_clase_modelo = $this->clase_model($controler);
// Resultado esperado:
// 'models\\usuarios'
// Un array de error si la sección está vacía.
Código de la Función
final public function clase_model(controler $controler): string|array
{
if($controler->seccion === ''){
return $this->error->error(mensaje: 'Error this->seccion esta vacio',data: $controler->seccion);
}
$namespace = 'models\\';
$controler->seccion = str_replace($namespace,'',$controler->seccion);
return $namespace.$controler->seccion;
}