Negli esempi della lezione precedente abbiamo visto che è possibile richiamare i valori delle proprietà "a" e "b" della classe MyClass attraverso le istanze della stessa, e dunque, dall'esterno della classe. Ma se invece volessimo richiamare questi valori dall'interno della classe, tramite una funzione membro?
A questo proposito ci serve una nuova keyword che ci permetta di identificare le istanze dall'interno della classe. La keyword è $this e si riferisce sempre all'istanza corrente che stiamo utilizzando. Ecco un semplice esempio, in cui viene modificata la classe della lezione precedente:
class MyClass {
// variabili membro
public $a = 10;
public $b = 20;
// funzioni
public function sayHello() {
echo "Hello! " . $this->a . " " . $this->b;
}
}
$myClass_1 = new MyClass();
$myClass_2 = new MyClass();
// ora la proprietà "a" dell'oggetto $myClass_2 è impostata a 20
$myClass_2->a = 20;
// stampa "Hello! 10 20"
$myClass_1->sayHello();
// stampa "Hello! 20 20"
$myClass_2->sayHello();
Come è possibile notare, $this ricopre il ruolo dell'istanza della classe corrente. Questo è un concetto di fondamentale importanza, che ci permette di accedere alle varie componenti (pubbliche) della classe direttamente dal suo interno.
Possiamo ora astrarre il concetto affermando che una classe è una sorta di "garage" o di "officina" centrale dove vengono prodotte un numero variabile di istanze, che sono i mezzi finali con cui è possibile utilizzare le funzionalità della classe.
classe A /
istanza 1
istanza 2
istanza 3
classe B /
istanza 1
istanza 2
classe C /
...
In questa e nella lezione precedente abbiamo imparato tre concetti fondamentali della programmazione ad oggetti, senza i quali sarebbe impossibile proseguire lo studio dei componenti più avanzati:
Nella prossima lezione analizzeremo nel dettaglio le due componenti principali di una classe: le proprietà (variabili) ed i metodi (funzioni).
Sessioni PHP: cosa sono, come si usanoDalla configurazione di PHP, alla gestione delle sessioni in un... |
Continuous Integration: automatizziamo i client con PhingContinuous Integration: automatizziamo i client con Phing. Esempi... |
Archiviazione delle applicazioni PHP con PharCome incorporare intere applicazioni PHP all'interno di un singolo... |
I traits in PHP 5.4Cosa sono, a cosa servono e come si unsano i traits, la novità per... |
PHP 5.4: il web server integratoImpara ad usare il web server integrato nella versione 5.4 di PHP:... |
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Guida PHP con Windows e IISInstallare ambienti per lo sviluppo e la produzione di applicazioni... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |