Ho qualche input che invio a una libreria computazionale, che elabora l'input e produce un output.
Domanda : quali considerazioni prendo in considerazione per aiutarmi a decidere se il tipo di dati di output debba essere un array o un oggetto? Allo stesso modo lo stesso può valere per un oggetto Input che viene inserito nella libreria.
Matrice di esempio:
$t = array();
$t['number_of_shells'] = 3;
$t['shell_length'] = 2.51;
$t['pipe_model'] = 2.38;
Classe di esempio
$t = OutputObject();
$t->setNumberOfShells(3);
$t->setShellLength(2.51);
$t->setPipeModel(2.38);
Dove verrà utilizzato
Nel mio caso immediato, questa struttura verrà utilizzata per accumulare alcuni dati da varie fonti (libreria computazionale, database, input pass-through) e quindi passati al livello View
, dove verrà inserito in placehodlers del modello di visualizzazione.
Più in generale
Da dove lo vedo, gli array sono più facili da creare, più facili da mantenere, poiché nel mio caso tutto ciò di cui ho bisogno è fondamentalmente valori. Gli oggetti sono più robusti in quanto codificano i valori disponibili in proprietà e c'è meno possibilità di fare errori di battitura. Ma aggiungono anche un sovraccarico.
Userò la struttura dati come un tipo di ritorno della libreria computazionale, e successivamente la userò per i dati da alimentare al mio livello View o alla mia suite Unit Test.