Secondo me, specialmente se programmi OOP, dovresti sapere in anticipo se la classe potrebbe essere già stata inclusa e per quali ragioni (che devono essere delle ragioni precise, non "forse sì, forse no...perchè me ne sono dimenticato").Originariamente inviato da andr3a
non sono d'accordo ... io lavoro con le classi, e con classi dentro classi, potrei avere la necessita' di utilizzare una gerarchia annidata in diverse situazioni, cosa faccio cambio i files in base alla gerarchia per ogni applicativo ???
include_once mi da la certezza che la classe con le sue dipendenze la posso usare dove e come voglio, invece di debuggarmi ogni volta tutta la struttura.
Il doverti debuggare tutta la struttura per saperlo non dovrebbe essere necessario.
Unica eccezione nel caso in cui programmi con qualcosa tipo PEAR (per fare l'esempio di un insieme di classi molto interdipendenti ...cosa considerata tra i suoi principali difetti tra l'altro) dove la classe x ha bisogno della classe y e anche la classe z ha bisogno della classe y: nel caso di dipendenze dalla stessa classe se stai usando sia x che z nello stesso script devi usare include_once.
Questa è una delle "ragioni precise" di cui sopra
Mi ri-spiego meglio: include_once non è il male, ma va usata come si userebbe ad esempio if(!class_exists()....non come puro e semplice sostituto di includeio faccio funzioni per semplificarmi i controlli e sviluppare in modo piu' veloce, tu stai dicendo di evitare automatizzazioni e scrivere if .. else ... per ogni minima cosa ??? :master:
... e scrivere un controllo function_exist class_exist ogni volta che mi serve un include_once ti sembra saggio ??