Membri Statici

giovanni86

Nuovo Utente
21 Gen 2015
11
0
0
Salve a tutti,
stavo approfondendo la programmazione in php, quando nel capitolo dei membri statici mi sono trovato davanti questo snippet spiegato malissimo:

static public function stampaColore($colore){
echo Colore::${$colore};
}

Il nome della classe è ovviamente Colore ma le mie domande sono:

1) Se il metodo è statico, e quindi accessibile senza istanziare la classe, che senso ha scrivere public? avrei compreso private...

2) $colore è un parametro della funzione NON un'attributo statico della classe per questo, cosa fa questa scrittura: Colore::${$colore}? Con l'operatore :: io accedo ai membri della classe, ma $colore è un paramentro, e poi quelle graffe cosa fanno(forse espandono la var $colore?)?

Help, grazie in anticipo!!!!
 
Quindi scrivere static nomeFunzione() o static public nomeFunzione() sono assolutamente equivalenti. Mentre, per la seconda domanda, lo stesso, scrivere $$colore o ${$colore}, se $colore ha valore "verde" per esempio, entrambi produrranno $verde, in modo tale che se $verde è una variabile statica della classe, io accederò al valore di tale variabile.
Ho sbagliato in qualcosa? Grazie
 

Discussioni simili