Salta al contenuto principale

Creazione di una classe in PHP

Profile picture for user luca77king

Una classe in PHP è un costrutto che definisce un tipo di dato astratto, che raggruppa dati e comportamenti correlati. È un modello o una "ricetta" che descrive come creare oggetti che rappresentano istanze di quella classe. Gli oggetti sono quindi istanze delle classi, cioè variabili che contengono dati specifici per l'istanza e metodi che eseguono operazioni su quei dati.

Una classe definisce proprietà e metodi. Le proprietà rappresentano le variabili dell'oggetto, mentre i metodi rappresentano le funzioni che l'oggetto può eseguire. Una classe può anche contenere costanti, che sono valori che non possono essere modificati.

Per definire una classe in PHP, è necessario seguire una serie di passi. Innanzitutto, è necessario decidere quali dati (proprieta') e comportamenti (metodi) dovranno essere inclusi nella classe. Quindi, si crea la struttura di base della classe, che include il nome della classe, le proprietà e i metodi.

La definizione di una classe inizia con la parola chiave class, seguita dal nome della classe (convenzionalmente iniziale maiuscola) e dalle parentesi graffe, che racchiudono la definizione della classe. Ecco un esempio di classe in PHP:

class Automobile {
    public $marca;
    public $modello;
    public $anno;

    public function getInfo() {
        return $this->marca . " " . $this->modello . " (" . $this->anno . ")";
    }
}

In questo esempio, abbiamo definito una classe Automobile che ha tre proprietà pubbliche (marca, modello e anno) e un metodo pubblico (getInfo()) che restituisce una stringa che rappresenta l'automobile. La parola chiave public indica che le proprietà e i metodi sono accessibili da qualsiasi punto del codice.

La proprietà $this è un riferimento all'oggetto corrente, cioè l'istanza della classe a cui appartiene il metodo. In questo caso, $this->marca fa riferimento alla proprietà marca dell'oggetto corrente.

Gli oggetti: istanze delle classi

Per creare un'istanza della classe, è necessario utilizzare la parola chiave new seguita dal nome della classe e dalle parentesi tonde. Ad esempio, per creare un'istanza della classe Automobile, si può fare:

$fiat = new Automobile();

Questa istruzione crea un nuovo oggetto Automobile e lo assegna alla variabile $fiat. Una volta creata l'istanza, è possibile accedere alle proprietà e ai metodi dell'oggetto utilizzando l'operatore ->. Ad esempio, per impostare il valore della proprietà marca, si può fare:

$fiat->marca = "Fiat";

Per chiamare il metodo getInfo(), si può fare:

echo $fiat->getInfo();


che restituirà la stringa "Fiat - (anno)".

Costruttore di una classe

Il costruttore è un metodo speciale che viene chiamato automaticamente quando si crea un'istanza di una classe. Il costruttore può essere utilizzato per impostare le proprietà dell'oggetto e inizializzare lo stato iniziale dell'oggetto.

In PHP, il costruttore è identificato dalla parola chiave __construct(). Ecco un esempio di come si potrebbe definire un costruttore per la classe Automobile:

class Automobile {
    public $marca;
    public $modello;
    public $anno;

    public function __construct($marca, $modello, $anno) {
        $this->marca = $marca;
        $this->modello = $modello;
        $this->anno = $anno;
    }

    public function getInfo() {
        return $this->marca . " " . $this->modello . " (" . $this->anno . ")";
    }
}

In questo esempio, abbiamo aggiunto un costruttore alla classe Automobile che accetta tre parametri: $marca, $modello e $anno. Il costruttore imposta i valori delle proprietà marca, modello e anno dell'oggetto corrente utilizzando i valori dei parametri.

Per creare un'istanza della classe Automobile utilizzando il costruttore, si può fare:

$fiat = new Automobile("Fiat", "Panda", 2020);

Questa istruzione crea un nuovo oggetto Automobile e passa i parametri "Fiat", "Panda" e 2020 al costruttore. Il costruttore imposterà le proprietà dell'oggetto $fiat con i valori specificati.

In conclusione, il costruttore è un metodo speciale utilizzato per inizializzare gli oggetti di una classe. Quando viene chiamato il costruttore, vengono impostate le proprietà dell'oggetto iniziale e viene stabilito lo stato iniziale dell'oggetto. In questo modo, i costruttori consentono di creare oggetti in uno stato coerente e prevedibile, pronti per l'utilizzo.