Io faccio così:
Per la pulizia del codice mantengo le classi in file separati, questo crea forse un proliferare di file, ma so che se devo andare a modificare la classe fattura la troverò in una cartella classes e in un file chiamato fattura.class.inc.
Se lavoro in un programma solo mio, che non utilizza altre classi, una classe autoloader va benissimo:
class ClassAutoloader { public function __construct() { spl_autoload_register(array($this, 'loader')); } private function loader($className) { include '../../includes/classes/'.$className . '.class.inc'; } } $autoloader = new ClassAutoloader();
Ma se al mio programma aggiungo una classe per generare PDF (TCPDF) o Smarty, o qualsiasi classe già costruita?
Nel caso di Smarty, questo richiama tutta una serie di sottoclassi che non sono ordinate secondo la nostra idea, e quindi avremo una serie fatal error.
Risultato? o cambiamo tutta la struttura di classi di quanto abbiamo incluso o ci affidiamo a qualcosa d'altro.
Io mi sono fatto una funzione d'inclusione che mi permette di inserire le classi che voglio, in questo modo:
function includiclassi($text) { $classi = explode(',', $text); foreach ($classi as $value) { include '../../library/include/classes/' . trim($value) . '.class.inc'; } }che richiamo in questo modo:
includiclassi('Fattura,Rigo_input,Smarty,Cli_for,Rigo');Buon lavoro.
Nessun commento:
Posta un commento