Introduzione alla OOP in PHP
Ora ci occuperemo dello studio della OOP in PHP. Consideriamo un esempio dalla vita reale, e poi trasferiamolo in PHP.
Prendiamo un'automobile come esempio. Essa ha ruote, colore, tipo di carrozzeria, cilindrata del motore e così via. Inoltre, il guidatore puole darle comandi: andare, fermarsi, girare a destra, a sinistra, ecc.
Si può dire che esista una certa classe di automobili, che possiede proprietà comuni (tutte hanno ruote e a tutte si possono dare comandi).
Un'automobile specifica, parcheggiata in strada - è un rappresentante di questa classe, o, in altre parole, un oggetto di questa classe. Tutti gli oggetti di questa classe hanno proprietà: numero di ruote, colore, tipo di carrozzeria e metodi: andare, fermarsi, girare a destra, a sinistra.
In altre parole, la classe stessa è il progetto, in base al quale in fabbrica vengono prodotte le automobili. L'oggetto invece è l'auto stessa, costruita secondo quei progetti.
In PHP una classe viene creata con la parola chiave
class, seguita dal nome
di questa classe. Creiamo la classe Car:
<?php
class Car
{
// qui il codice, cioè il progetto PHP dell'automobile
}
?>
Specifichiamo ora nel nostro progetto che qualsiasi automobile, creata secondo questo progetto, avrà una proprietà per il colore e una proprietà per la quantità di carburante.
Per fare questo, all'interno della classe scriviamo la proprietà
$color e la proprietà $fuel:
<?php
class Car
{
// Definiamo le proprietà (in sostanza variabili della classe):
public $color; // colore dell'automobile
public $fuel; // quantità di carburante
}
?>
Creiamo ora i metodi della nostra classe.
In PHP i metodi, similmente alle normali funzioni, vengono dichiarati
con la parola chiave function,
prima della quale si scrive la parola chiave
public.
Come accennato in precedenza, la nostra automobile può andare, può girare, può fermarsi. Creiamo i metodi corrispondenti nella nostra classe:
<?php
class Car
{
public $color; // colore dell'automobile
public $fuel; // quantità di carburante
// Comando andare:
public function go()
{
// del codice PHP
}
// Comando girare:
public function turn()
{
// del codice PHP
}
// Comando fermarsi:
public function stop()
{
// del codice PHP
}
}
?>
Abbiamo creato il progetto della nostra automobile. Ora bisogna andare in fabbrica e creare un oggetto di questa classe (cioè un'automobile concreta).
In PHP questo si fa con la parola chiave
new, dopo la quale si scrive il nome della classe:
<?php
new Car;
?>
Tuttavia, se si crea semplicemente un oggetto della classe - questo non porterà a nulla (è come, ad esempio, dichiarare un array e non assegnarlo a nulla). Ci serve una variabile per conservare questo oggetto.
Lasciamo che questa variabile si chiami $myCar
- assegniamole l'oggetto che abbiamo creato:
<?php
$myCar = new Car;
?>
Dopo la creazione dell'automobile si può accedere
alle sue proprietà. L'accesso a queste avviene
tramite la freccia ->. Impostiamo
le proprietà del nostro oggetto:
<?php
$myCar = new Car; // comandiamo alla fabbrica di fare un'automobile
// Impostiamo le proprietà dell'oggetto:
$myCar->color = 'red'; // coloriamo di rosso
$myCar->fuel = 50; // facciamo il pieno di carburante
?>
Fatto, la nostra automobile è creata, verniciata e rifornita. Ora possiamo darle comandi attraverso i metodi di questa automobile.
L'accesso ai metodi avviene anch'esso tramite la freccia, ma, a differenza della proprietà, dopo il nome del metodo bisogna scrivere le parentesi tonde. Diamo dei comandi al nostro oggetto:
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>