Creare una classe in PHP: proprietà e metodi
Vediamo come creare una classe, proprietà e metodi, come istanziare gli oggetti. Codici ed esempi.
Una classe è un tipo di dato che, al suo interno, definisce l’intera struttura degli oggetti che vuole descrivere.
Una classe consiste in:
- attributi(o proprietà), che compongono la struttura dei dati che descrive una classe di oggetti;
- metodi, operazioni che si possono compiere all’interno dell’oggetto e, in particolare, sui suoi attributi.
Come creare una classe
Una classe in PHP, come in altri linguaggi come C++ e Java, si definisce con la keyword class seguita dal nome della classe. Una classe può avere attributi (o proprietà), e metodi (o funzioni).
<?php
class miaClass {
var $attributo1; // primo attributo (o proprietà)
var $attributo2; // secondo attributo (o proprietà)
// Creiamo il nostro primo metodo
function mioMetodo(){
echo "Ciao Mondo";
}
}
?>
Nell’esempio abbiamo costruito la classe miaClass, con due attributi ($attributo1 e $attributo2) e un metodo mioMetodo(), che stampa la frase “Ciao Mondo”.
Come in tutti i linguaggi a oggetti possiamo definire un costruttore. A differenza di Java e C++, il costruttore non deve avere lo stesso nome della classe, ma deve invece chiamarsi __construct().
Così come possiamo definire un costruttore, nello stesso modo possiamo definire un distruttore. Il distruttore di PHP 5 è una funzione che viene automaticamente chiamata dal garbage collection del motore di PHP 5 quando nessuno sta più utilizzando l'oggetto. È molto utile, per esempio, per effettuare la chiusura della connessione al database o chiudere file. Similmente al costruttore, il distruttore deve chiamarsi __destruct().
Proprietà e metodi
Ripendendo l’esempio precedente, possiamo notare che una proprietà è una normale variabile dichiarata tramite la keyword var.
var $attributo1; // primo attributo var $attributo2; // secondo attributo
Un metodo è una funzione definita dalla keyword function all’interno della classe.
// Creiamo il nostro primo metodo
function mioMetodo(){
echo "Ciao Mondo";
}
Istanziare oggetti
Per istanziare gli attributi dell'oggetto e, in generale, per riferirsi a questi, la sintassi da utilizzare è la seguente:
$this->attributo.
La stessa sintassi si utilizza anche per richiamare un metodo della classe su un oggetto. Quindi, per richiamare mioMetodo() su un oggetto $object1 della classe miaClass, si usa
$object1->mioMetodo().