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 clase controler que contiene la información sobre la sección actual del controlador. La propiedad seccion 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 nombres models\\. En caso de error, retorna un array de error generado por $this->error->error().

Explicación Detallada

  1. 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.
  2. Construcción del nombre de la clase del modelo:

    • La función elimina el prefijo models\\ de la propiedad seccion, si está presente.
    • Luego, construye el nombre completo de la clase del modelo concatenando el espacio de nombres models\\ con el valor de seccion.
  3. 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;
    }