PDA

View Full Version : [PHP] ABC di Static


lore_83
01-02-2008, 19:06
Ciao a tutti.
Eccetto il fatto che non capisco perché non riesco ad eseguire ricerce nel forum (mi si apre una finestra che mi chiede se voglio scaricare un file search.php...) vorrei avere qualche delucidazione su STATIC.

Mi spiegate quale sia il suo utilizzo (ad esempio nelle classi, sia nelle var membro che nelle funzioni)?
In giro trovo spiegazioni troppo complicate...eppure mi sembra così banale il suo significato...però non lo dico (per evitare figuracce :D)

Grazie a tutti, questo forum è il numero 1.

MEMon
02-02-2008, 23:48
Dette in parole molto semplici un metodo statico non è un metodo dell' oggetto, ma della classe.
Ciò significa che è possibile utilizzare il metodo statico anche senza istanziare un oggetto!
Ad esempio

class MyClass{
public function __construct(){
//costruttore della classe
}

public function metodoOggetto(){
echo "Sono un metodo dell'oggetto"
}

public static function metodoClasse(){
echo "Sono un metodo della classe"
}
}

MyCLass::metodoOggetto() //Sbagliato!!!
MyCLass::metodoClasse() //Sono un metodo della classe

var obj=new MyClass();
obj::metodoOggetto() //Sono un metodo dell'oggetto
onj::metodoClasse() //Sbagliato!!!


Da notare che un metodo statico essendo appunto della classe e non dell'oggetto non può usare "this"(non esiste) e non può contenere chiamate a metodi NON-STATICI della classe stessa.