Sto mappando Field1 a Field2. L'oggetto mappa crea un'istanza dell'oggetto campo e viceversa, creando un loop infinito.
Questo è in PHP.
class field {
protected $maps; // mapCollection object. all the mappings of this field to others
}
class map {
protected $field1; // field object
protected $field2; // field object
}
class mapCollection {
protected $maps; // array of map objects
}
Le mappature e i set di campi sono memorizzati in un database in cui hanno un ID univoco. Così ho deciso di consentire il loro recupero usando i loro id nei costruttori.
class field {
protected $maps; // map object
public __construct($id = 0 ) {
if(!empty($id) ) {
$this->maps = // get mapsCollection. data from db
}
}
}
class map {
protected $field1; // field object
protected $field2; // field object
public __construct($id = 0 ) {
if(!empty($id) ) {
$this->field1 = // get field1 data from db
$this->field2 = // get field2 data from db
}
}
}
class mapCollection {
protected $maps; // array of map objects
public __construct($field_id) {
// get maps from db by field id
foreach($dbdata as $map_id) {
$this->maps[] = new map($map_id); // instantiates new map, which instantiates new field, etc
}
}
}
Come devo fare questo?