I Metodi - OOP in PHP
Così come le proprietà permettono ad un oggetto di conservare dei dati. I metodi permettono agli oggetti di eseguire dei compiti.
Indice
Cosa sono i metodi
Un metodo non è altro che una funzione inserita all'interno di una classe
Per definire un metodo, oltre alla parola chiave function
, seguita da un nome di funzione, dobbiamo indicare un livello di visibilità che può essere public, private o protected
Sintassi di un metodo
//dichiarazione di una classe
class NomeClasse {
// Dichiarazione delle proprietà
public $proprieta1 = "Questa è una proprieta";
// Dichiarazione di un metodo
public function nomeFunzione($argomento1, $argomento2){
// ... codice da eseguire ...
}
}
Come accedere alle proprietà da un metodo all'interno di una classe
Per poter accedere alla proprietà all'interno di un metodo (funzione), dobbiamo usare la pseudo variabile $this
.
$this rappresenta il riferimento all'oggetto creato dalla classe.
class NomeClasse {
public $proprieta1 = "Questa è una proprieta";
public function nomeMetodo(){
echo $this->proprieta1;
}
}
Come accedere al metodo di un istanza creata da una classe
Possiamo accedere al metodo con ambito public
esternamente ad una classe utilizzando l'operatore ->
// Creazione di un istanza
$nuovoOggetto = new NomeClasse();
// Esempio di accesso ad un metodo pubblico
echo $nuovoOggetto->nomeMetodo();
Esempio di metodo su un istanza creata da una classe
<?php
class User
{
// Dichiarazione delle proprietà (variabili)
public $username = "nome utente";
public $eta = 33;
public $email = "mario@rossi.it";
private $password = "secret123";
// Dichiarazione del metodo (funzioni)
public function riepilogo(){
// Accesso alle proprietà tramite pseudovariabile $this
return "Utente: $this->username \n"
. "Età: $this->eta \n"
. "Email: $this->email \n"
. "Password: $this->password";
}
}
/* crezione istanza da classe (oggetto) */
$utente1 = new User();
/* Modifica Proprietà */
$utente1->username="DonatoPirolo";
$utente1->eta=33;
$utente1->email="info@wordpress-1040479-3658918.cloudwaysapps.com";
/* Accedere al metodo utilizzando l'operatore -> */
echo $utente1->riepilogo();
?>