La domanda sembra retrograda ma ho circa 50 variabili passate a una classe. Fondamentalmente una serie di dati che chiamo 'filtri' che sono passati prima a un prepFiltersMethod ($ filtri). Questo metodo di filtri di preparazione fa alcune cose imposta altri filtri necessari in altri metodi per le query. Restituisce un sottoinsieme più ampio di dati di $ filtri dopo aver ottenuto alcune cose aggiuntive ecc.
EDIT: Questo è COME per controllare il tipo di domanda, ho cercato di ripulire la domanda un po ', in breve mi chiedo come gestire un grande array di input in una classe. se i dati Junk vengono passati in esso o dati carenti, dovremmo provare a gestirlo. Quello che sto chiedendo è se hai una grande matrice che entra in una classe, faresti il passo in più per scriverla in un nuovo array per assicurarti che i dati di RIGHT siano usati per scopi di controllo? Eliminare le chiavi che non dovrebbero finire in esso ecc.? Dì, prendi l'array $ filters, scegli le chiavi che volevamo e scrivilo in un nuovo array, e poi usalo? In breve, mi chiedo se sarebbe utile usare un costruttore per fare questo o come gli altri dovrebbero gestire. Se non facciamo nulla, funziona bene, ma potrebbe essere un rischio più avanti lungo la strada?
PANORAMICA:
- Diciamo che abbiamo un array multidimensionale chiamato $ filtri.
- $ filtri è passato a una classe (contiene i dettagli di una richiesta utente).
- Il La classe $ filters passa attraverso un metodo di preparazione che ne aggiunge altri elementi per questo array $ filters.
- Ora che i filtri sono preparati e selezionato, verrà utilizzato per creare query e restituire risultati un altro metodo $ filtri sono passati al metodo getInventory che sembra ai filtri e crea una query e restituisce i dati dal DB.
DOMANDA:
Allo stato attuale, $ filters array viene passato intorno alla crescita e alla contrazione, se necessario. Tutto ciò che può essere passato alla classe senza gatekeeping, dovrebbe essere corretto? In altre parole, il metodo che prima prepara l'array $ filters, dovrebbe copiare le variabili in un nuovo array (ad esempio, creare un nuovo array)?
Qualcuno passa:
$filters['x']
$filters['y']
$filters['z']
... ... ...
abbastanza belli quelli sono tutti necessari / utilizzabili, ma cosa succede se passano in
$filters['x']
$filters['a']
$filters['b']
... ... ...
dove 'a' e 'b' non sono necessari?
Ci importa di questo? dovrei utilizzare qualcosa che garantisce che i dati di input siano più completi?
1) modello di builder? 2) creare un nuovo array e riscriverli? 3) Non ti preoccupare, lascia che gli altri metodi ignorino i dati di cui non ha bisogno? 4) Una classe standard che può ottenere e impostare 5) Un array globale nella classe $ this- > filters (odio questa idea) 6) Altre idee?