inyecta inyectar PHP
La idea de inyectar, es pasar información de un registro (un array), a un objeto
tipado. Por ejemplo, si tenemos un listado de personas, siendo un array de arrays
$resultados = [
[nombre=>Alvaro, edad=>34, ...],
[nombre=>Juanito, edad=>28, ...],
...
]
permite pasar cada uno de los registros, al campo datos de su clase asociada, así
podríamos hacer:
$Persona = new Persona();
$Persona->inyecta( $resultados[0] );
y entonces $Persona->datos->nombre; será Alvaro
Se utiliza para hacer una única query a BD y después iterar por los objetos por
PHP sin necesidad de molestar al servidor con peticiones.
Tener en cuenta lo siguiente:
* Da igual que el registro (array) contenga más campos que el objeto, (habitual con joins),
si tiene campos adicionales se agregarán pero en principio no interfieren con nada
* Si el registro tiene campos adicionales y no los queremos pasar, se pueden mapear,
seleccionando unicamente los que queremos
* El registro puede ser un array creado manualmente, o pasarle los campos
calculados mapeandolos.
* Mapearlo es obvio, es simplemente pasarle el array que espera creado a mano, por ejemplo:
$Persona->inyecta( ["nombre"=> "Esteban", "edad" =>38, ...] );
* También se puede inyectar en cadenas de relación:
$Persona->Direccion->inyecta( $direcciones[1]);