| Attenzione |
Ciò che segue è valido soltanto per PHP 4.
|
A volte è utile riferirsi alle funzioni ed alle variabili
di classi base o riferirsi alle funzioni di classi senza
istanziarle. L'operatore :: è usato per questi scopi.
L'esempio chiama la funzione example() della classe A, ma
senza creare un'istanza di A, di modo che la funzione non
si possa richiamare con $a->example(). example() è chiamata
come 'funzione della classe', e non come funzione di un
oggetto della classe.
Si possono usare funzioni della classe, ma non le variabili
della classe. Infatti, non esiste nessun oggetto nel momento
della chiamata della funzione. Quindi, la funzione della classe
non può usare le variabili dell'oggetto (ma può usare le variabili
locali e globali) e $this non può essere usato.
Nel suddetto esempio, la classe B ridefinisce la funzione
example(). La funzione originale definita nella classe A è
adombrata e non più disponibile, a meno che voi non chiamiate
esplicitamente con l'operatore :: scrivendo A::example() per
richiamare la funzione (è possibile anche scrivere parent::example(),
come mostra la sezione seguente).
In questo contesto, c'è un oggetto corrente che può avere
determinate variabili. Una volta usate da parte di una
funzione dell'oggetto, potete usare $this per le variabili dell'oggetto.