administrador.base.orm.columnas.columnas_attr - gamboamartin/administrador GitHub Wiki
columnas_attr
La función columnas_attr es una función privada que itera sobre un array de columnas, asigna y valida sus atributos, completando arrays con la información de las columnas proporcionada. A continuación, se detalla su funcionamiento y componentes.
Signatura
private function columnas_attr(array $columna, array $columnas_completas, array $columnas_parseadas): array|stdClass
Parámetros
$columna
(array): Un array que contiene la información de la columna.$columnas_completas
(array): Un array que se va a completar con la información validada de las columnas.$columnas_parseadas
(array): Un array que se va a completar con la información parseada de las columnas.
Retorna
- Tipo:
array|stdClass
- Descripción: Retorna un objeto stdClass con dos propiedades:
-
- columnas_parseadas: El array $columnas_parseadas con la información parseada de las columnas.
-
- columnas_completas: El array $columnas_completas con la información completa de las columnas.
Explicación Detallada
- Iteración Sobre las Columnas
-
- La función itera sobre cada clave-valor en el array $columna.
-
- Para cada par clave-valor, llama a la función columnas_field para asignar y validar los atributos de la columna.
- Asignación y Validación de Columnas
-
- Se llama a la función columnas_field con los parámetros atributo, campo, columna, columnas_completas y columnas_parseadas.
-
- Si hay un error en la asignación (errores::$error), se retorna un error con un mensaje indicando el fallo al obtener las columnas.
-
- Se actualizan los arrays $columnas_parseadas y $columnas_completas con los valores retornados por columnas_field.
- Retorno de la Información
-
- Se crea un objeto stdClass y se asignan las propiedades columnas_parseadas y columnas_completas.
-
- Se retorna el objeto con la información asignada.
Ejemplos
// Ejemplo 1: Asignación Correcta
$columna = array(
'Field' => 'nombre',
'Type' => 'VARCHAR(255)',
'Null' => 'NO',
'Key' => 'PRI'
);
$columnas_completas = array();
$columnas_parseadas = array();
// Instancia de la clase que contiene la función columnas_attr
$mi_clase = new MiClase();
Código de la Función
private function columnas_attr(array $columna, array $columnas_completas, array $columnas_parseadas): array|stdClass
{
foreach($columna as $campo=>$atributo){
$columnas_field = $this->columnas_field(atributo: $atributo, campo: $campo, columna: $columna,
columnas_completas: $columnas_completas, columnas_parseadas: $columnas_parseadas);
if(errores::$error){
return $this->error->error(mensaje: 'Error al obtener columnas', data: $columnas_field);
}
$columnas_parseadas = $columnas_field->columnas_parseadas;
$columnas_completas = $columnas_field->columnas_completas;
}
$data = new stdClass();
$data->columnas_parseadas = $columnas_parseadas;
$data->columnas_completas = $columnas_completas;
return $data;
}