[Php-it] php, oop e caricare le classi all'inizio dello script...

Jonathan Stoppani st.jonathan at gmail.com
Wed Mar 1 12:01:18 CET 2006


On Mar 1, 2006, at 11:53 AM, Cristiano Verondini wrote:
>> poi, quando scrivo i miei vari script1.php, script2.php mi tocca  
>> dover
>> mettere una scarica di include all'inizio del file, in modo da poter
>> poi usare tutte le classi così definite..
>>
>> Queste operazioni se usate su server molto carichi, non sono  
>> piuttosto
>> pesanti?
>
>    Si, decisamente.
>
>    Quello che si dovrebbe fare è una sorta di caricamento on- 
> demand. Ovvio che in questo caso il contro è legato al fatto di  
> dover includere un sacco di piccoli file ed ogni volta controllare  
> se è stato incluso.
>
>    Non ho ancora trovato una soluzione che mi soddisfi appieno, ma  
> il caricamento su 'richiesta' mi sembra la strada migliore.
>
>        Cris

Se hai supporto php5 (e se lavori con le classi è meglio averlo) puoi  
sfruttare la funzione __autoload() e fargli caricare il file della  
singola classe su richiesta.

function __autoload($classname) {
	require_once('/mydir/library/'.$classname.'.class.php');
}

Naturalmente puoi apportare varie modifiche a questa classe. Per  
esempio, se organizzi le classi per tipo (e quindi in cartelle) e hai  
una classe tipo:

class images_CreateImage {}

puoi usare la funzione così:

function __autoload($classname) {
	$path = str_replace('_', DIRECTORY_SEPARATOR, $classname);
	require_once('/mydir/library/'.$classname.'.class.php');
}

Jonathan Stoppani


More information about the Php-it mailing list