Domanda

Una rapida domanda circa le migliori pratiche con le classi PHP. Ho visto la gente usa nomi di file come ad esempio something.class.php di organizzare le loro classi in file esterni.

Quindi, è buona norma avere un file per ogni classe o le classi multiple per ogni file.

Al momento, sto scripting un gioco di ruolo e di avere un unico file class_lib.php. Al momento ho classi di soli caratteri-correlata in là, e prima di andare avanti vorrei sapere se è più adatto da tenere classi raggruppate in file, hanno tutte le classi in un unico file, o di tenere ogni classe al proprio file.

Quali sono i vantaggi / svantaggi di ogni approccio?

Fatto questo CW in quanto non può avere una risposta definitiva

È stato utile?

Soluzione

Le loro sono i pro ei contro di entrambi gli approcci. Separare le classi in file separati permette di sapere immediatamente quali file da modificare se è necessario aggiornare una classe e mantiene ogni logica relativa a quella classe nello stesso luogo. E 'utile anche da un punto di vista del codice sorgente repository di file separati. Aumenta la quantità di carico per includere una tonnellata di file, ma questo è più probabile trascurabile. Un altro svantaggio è dover aprire numerosi file per nel corso di codifica e può essere un dolore per navigare, se si decide di utilizzare le cartelle nella struttura pure.

Avere classi correlate nello stesso file è più conveniente di qualsiasi altra cosa e può essere fonte di confusione per capire quale file contiene la classe è necessario modificare.

Se il progetto non sarà eccessivamente grande sarà molto probabilmente a voi su come si desidera organizzare. Ma pensateci in termini di "Se non tocco il codice in 6 mesi, non mi ricorderò dove andare a modificare questa classe?"

Altri suggerimenti

Un file per ogni classe, con caricamento automatico per includere loro solo quando sono necessari

Mantenere le classi in file separati consente una caricamento automatico . In teoria, potrebbe aiutare con le prestazioni se alcune classi - che si sarebbe altrimenti messi in un unico grande file - sono utilizzati raramente (.. N.B., questo è solo speculazione cieca Autoloading stesso potrebbe essere richiesto un pagamento delle prestazioni di compensazione)

Dipende dal gusto, e le dimensioni delle classi. La separazione è puramente per organizzazione. Quindi, se si pensa che sarebbe più facile in un unico file, o di una classe per file, dipende da voi.

I vantaggi: più facile trovare ciò che si desidera. Meno scorrimento!

Svantaggi: costante la commutazione tra i file. Può essere fastidioso quando fare nuove classi al volo.

Una classe, un file. IMO, è più facile da un punto di vista organizzativo.

Altri suggerimenti:

  • Mantenere i livelli di eredità e parametri lista ad un minimo assoluto. Non più di 5 o 6 diventa un po 'troppo complesso
  • Utilizzare il maggior numero di qualificazioni portata restrittiva
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top