Alla fine capita troppo spesso di dover puntare a directory di directory o altro per includere i files o le classi necessarie per far andare il nostro applicativo.

In PHP5 abbiamo la funzione __autoload che e' pensata proprio per queste situazioni , la dove la classe non e' definita viene richiamata al fine di includerla e caricarla.

In Python ( di cui ho una diapositiva mentre lo utilizzo => )
per richiamare un file usiamo questo tipo di sintassi:

from NomeFile import *

NomeFile solitamente e' , grazie alla liberta' che ci lascia python, un file qualunque, non necessariamente una classe, dove al suo interno ci saranno tutte le informazioni necessarie o richieste dall' applicativo.

Ovviamente e' possibile fare piu' di un import su diversi files.

In Java invece ci sono i package .jar che sono degli "archivi" contenenti una serie di informazioni utili e vengono richiamati o importati con una sintassi "simile" .

Mi sono chiesto, perche' ogni volta devo andare a perdere tempo scrivendo i giusti requires, oppure forzando l' error_handler al fine di emulare un caca __autoload per php 4 quando potrei scegliere di importare una o piu' folders (intese come packages) e scrollarmi i vari controlli di dosso ?

Ecco cosa ho pensato di fare, un file, ovviamente da richiamare all' inizio del vostro applicativo, in grado di effettuare questi import in modo automatico.

Un esempio ?

from( '/classes' ) . import( '*' );

Questa chiamata andra' ad includere in automatico tutti i files o classi presenti nella folder ( sempre intesa come package ) classes senza che io debba preoccuparmi di altro.
Potrei anche scegliere di includere una sola classe
from( '/classes' ) . import( 'DatabaseClass' );
oppure una lista di classi
from( '/classes' ) . import( Array('DatabaseClass', 'FileUploader') );

Quali sono i vantaggi ?
i vantaggi sono all' interno delle funzioni del file che oltre a verificare che la classe non sia gia' stata richiamata richiede automaticamente i files necessari dopo averne verificato l' esistenza.
Oltre a questo se tutti files dell' applicativo avessero questo metodo a inizio file non dovremmo preoccuparci di niente.



Mi fate sapere cosa ne pensate, eventuali consigli o altro ancora ?

Grazie