Main Menu




browser lang:en

Users Area

Client Login

today cache size is:0

 

 


Commenti

RE:trasformare in .gz by boris
10/03/2011 by marco

22/02/2011 by bono
RE:trasformare in .gz
22/02/2011 by boris
trasformare in .gz
21/02/2011 by bono
RE:Ma a che serve sta roba???
05/02/2011 by dwarf79
Ma a che serve sta roba???
28/01/2011 by Luca
Rapidshare hotfile fileserver download
08/01/2011 by Rapidshare hotfile fileserver download
re:xml
03/12/2010 by david68

Leggi tutto »


RAPIDQ

Rapid-Q:The lost files
My old library where i have collected all the rapidq scripts and italian help


Today my pagerank is: Free Page Rank Tool
Upbooking - free booking engine

PHP - caricare classi dinamicamente, la funzione __autoload

Che cosa è autoloading? Ogni volta che si desidera utilizzare una nuova classe nel progetto PHP, in primo luogo è necessario includere questa classe (con un costrutto include o require, che sicuramente non sono funzioni). Invece, se avete definito una funzione __autoload, essa stessa si occuperá dell'integrazione. Come funziona? Vediamo alcuni esempi:

Esempio di base Autoloading

Vediamo i due esempi che seguono, entrambi funzionano esattamente allo stesso modo. Tuttavia, nel primo non abbiamo la funzione autoload definita, quindi abbiamo bisogno di inserire manualmente la definizione di classe, nel secondo esempio la nuova classe viene automaticamente caricata quando viene utilizzata per la prima volta.

#Primo esempio - metodo classico
include "classes/class.Foo.php";
$foo = new Foo;
$foo->start();
$foo->stop();

#Secondo esempio - con autoload
function __autoload($class_name) 
{
    require_once $DOCUMENT_ROOT.“classes/class.”.$class_name.“.php”;
}
 
$foo = new Foo;
$foo->start();
$foo->stop();

Come funziona? Semplice, se una istanza Foo viene creata per la prima volta poi viene chiamata con __autoload automaticamente. Come argomento è passato il nome della classe. Questo è un semplice ma efficace utilizzo di questa funzione, che consente di caricamento automatico degli oggetti da alcune directory.

Uso avanzato di autoloading

L'ultimo esempio é molto pratico, ma cosa succede se abbiamo un sacco di classi o gruppi di classi che vogliamo tenere insieme?
function __autoload($class_name)
{
    $path = str_replace("_", "/", $class_name);
    require_once $path.".php";
}
 
$ffr = new Foo_File_Reader;
$ffw->doSomething();
 
$ffw = new Foo_File_Writer;
$ffw->doSomethingElse();

Tutti i segni "_" sono sostituiti con "/", così quando Foo_File_Reader è stato creato dalla prima funzione __autoload, essa cerca di includere il file /Foo/File/Reader.php, allo stesso modo, funziona per Foo_File_Writer in /Foo/File/Writer.php . Attenzione: le classi dentro questo file devono avere lo stesso nome della classe autocaricata, e cioé Foo_File_Reader e Foo_File_Writer.
Naturalmente potete cambiare la funzione di autoload a vostro piacimento.


Commenti

molto interessante by danki32

07/01/2010 
davvero molto interessante, grazie per gli esempi


Inserisci un commento

Titolo
Messaggio
Nome Utente
e-mail (se vuoi ricevere le risposte a questo post anche via mail)

Users

Videos


Scripts & Tutorials

Linux - I comandi principali

07/11/2010 

Per i piú smemorati, una lista di comandi principali usati con linux cd : cambia la directory corrente. ls : mostra il…

in:Scripts e tutorials (0 commenti)

Search Engine Optimization - 130 parametri usati da google per valutare il tuo sito

26/08/2010 

Con l'avvento di caffeine molti webmaster si sono trovati a dover rivedere tutte le strategie SEO per i…

in:Scripts e tutorials (0 commenti)

Inserisci Google BUZZ nel tuo sito con Google Buzz Widget Jquery Plugin

15/02/2010 

Questo è un widget di jQuery per il nuovo social network di Google-Buzz-che è possibile incorporare ovunque per…

in:Scripts e tutorials (0 commenti)

Javascript - Codifica/decodifica di password nei file ste di Dreamweaver

17/01/2010 

Questo é un pratico codificatore/decodificatore/decriptatore (chiamatelo come volete) di password inserite nei file di configurazione .ste su dreamweaver function…

in:Scripts e tutorials (0 commenti)

PHP - Uno script per calcolare il PageRank di Google

10/01/2010 

Il PageRank è un algoritmo che usa Google per valutare la credibilità e l'autorevolezza delle pagine Web. Il…

in:Scripts e tutorials (8 commenti)

PHP - Download file con limite di velocita'

20/10/2009 

Con questo script possiamo limitare il download di un file dal nostro server php; il limite di velocitá…

in:Scripts e tutorials (0 commenti)

PHP - Salvare immagini remote sul proprio server usando CURL

12/10/2009 

Alcuni host hanno disabilitati nei settaggi del.ini i comandi allow_url_fopen. Questo significa anche non poter usare i vantaggi…

in:Scripts e tutorials (2 commenti)

PHP - Short Url: due funzioni per creare link brevi

06/10/2009 

Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci…

in:Scripts e tutorials (0 commenti)

Leggi tutto »


Tag Clouds


Linux comandi principaliSearch Engine Optimization parametri usati google valutare sitoInserisci Google BUZZ sito Google Buzz Widget Jquery PluginJavascript Codificadecodifica password file DreamweaverPHP script calcolare PageRank GooglePHP Download file limite velocitaPHP


Add to Technorati Favorites