Per offrirti un'esperienza di navigazione sempre migliore, questo sito utilizza cookie propri e di terze parti, partner selezionati. I cookie di terze parti potranno anche essere di profilazione.
Le tue preferenze si applicheranno solo a questo sito web. Puoi modificare le tue preferenze in qualsiasi momento ritornando su questo sito o consultando la nostra informativa sulla riservatezza.
E' possibile rivedere la nostra privacy policy cliccando qui e la nostra cookie policy cliccando qui.
Per modificare le impostazioni dei cookies clicca qui
  • seguici su feed rss
  • seguici su twitter
  • seguici su linkedin
  • seguici su facebook
  • cerca

SEI GIA' REGISTRATO? EFFETTUA ADESSO IL LOGIN.



ricordami per 365 giorni

HAI DIMENTICATO LA PASSWORD? CLICCA QUI

NON SEI ANCORA REGISTRATO ? CLICCA QUI E REGISTRATI !

Il metodo costruttore in PHP

di :: 16 novembre 2022
Il metodo costruttore in PHP

Dopo aver introdotto le classi in PHP, oggi ci occupiamo del metodo costruttore.

E' un "metodo magico" cioè viene automaticamente richiamato non appena istanziamo la classe che lo contiene

Questo metodo ha come nome __construct

Vediamolo subito in azione in questo script in cui abbiamo la classe "MioTest". Istanziata la classe, il metodo costruttore risponderà con un "ciao".

<?php 
class MioTest
{
    // metodo costruttore
    public function __construct(){
       echo "ciao";
    }
}

// creo un oggetto di classe "MioTest"
$obj= new MioTest;
?>

Istanzio un oggetto di classe "MioTest" e non faccio altro. Se provate a lanciare lo script vedrete come output "ciao". Questo significa che il metodo costruttore è stato chiamato automaticamente, senza doverlo chiamare manualmente.

Un metodo costruttore è utile per eseguire delle operazioni preliminari all'interno della classe, ma anche, e sopratutto, per poter consentire alla classe di ricevere parametri, come normalmente facciamo nelle funzioni.

Ad esempio, se voglio che la classe riceva i parametri "cognome" e "nome", e procedo come in questo script, che analizziamo subito.

<?php 
class MioTest
{
    // metodo costruttore
    public function __construct($x,$y){
       echo "ciao da ".$x." ".$y;
    }
}

// creo un oggetto di classe "MioTest"
$obj= new MioTest("Rossi","Paolo");
?>

Nel metodo costruttore, riceverò i due parametri dall'esterno della classe, cioè quando vado a creare un oggetto della classe "MioTest", e li chiamo x e y.

Per utilizzare i due parametri sarà sufficente effettuare un "echo" di $x e $y. Ecco il risultato:

ciao da Rossi Paolo

Ne approfitto per dirti che, se non fosse ancora chiaro, puoi istanziare quanti oggetti vuoi di una classe, ed ognuno avrà la sua vita indipendente dagli altri oggetti.

Potrei quindi tranquillamente istanziare tre oggetti

$obj= new MioTest("Rossi","Paolo");
$obj= new MioTest("Bianchi","Mario");
$obj= new MioTest("Verdi","Lucia");

Bene, adesso torniamo all'esempio precedente e facciamoci del male, rendiamo più articolato, anche se il risultato sarà il medesimo.

<?php 
class MioTest
{
    private $cognome;
    private $nome;

    // metodo costruttore
    public function __construct($x,$y){
       $this->cognome=$x;
       $this->nome=$y;
       echo "ciao da ".$this->cognome." ".$this->nome;
    }
}

// creo un oggetto di classe "MioTest"
$obj= new MioTest("Rossi","Paolo");
?>

In questo script ho operato così

  • ho definito due proprietà chiamate "nome" e "cognome" con visibilità private (potevo anche indicarla come protected o public, tanto li uso solo all'interno di questa classe)
  • nel metodo costruttore, ricevo i due parametri x e y, come nell'esempio precedente.
  • all'interno del metodo costruttore ho assegnato i due valori ricevuti, "x" e "y", alle due proprietà "cognome" e nome"
  • infine ho effettuato un echo delle due proprietà

Potrebbe interessarti

 
 
 
 
pay per script

Hai bisogno di uno script PHP personalizzato, di una particolare configurazione su Linux, di una gestione dei tuoi server Linux, o di una consulenza per il tuo progetto?

x

ATTENZIONE