Funzioni variabili applicate agli Oggetti
|
Nell'ultima parte del capitolo sulle Funzioni, abbiamo parlato delle funzioni variabili. Vedremo ora come è possibile applicare il medesimo concetto ai metodi di una classe. |
<?php
class OggettoInventato
{
function metodo1()
{ echo "Ciao sono il primo metodo!<br />\n"; }
function metodo2()
{ echo "Ciao sono il secondo metodo!<br />\n"; }
function metodo3()
{ echo "Ciao sono il terzo metodo!<br />\n"; }
}
$obj = new OggettoInventato();
$num = 3;
$prefisso = "metodo";
for ($i = 1; $i <= $num; $i++)
{
$funzione = $prefisso . $i;
$obj->$funzione();
}
?>Il codice soprastante produce questo risultato.
Per richiamare i metodi con le variabili dall'interno della classe, è sufficiente sostituire $obj con $this.
<?php
class OggettoInventato
{
function metodo1()
{ echo "Ciao sono il primo metodo!<br />\n"; }
function metodo2()
{ echo "Ciao sono il secondo metodo!<br />\n"; }
function metodo3()
{ echo "Ciao sono il terzo metodo!<br />\n"; }
function richiamaMetodi()
{
$num = 3;
$prefisso = "metodo";
for ($i = 1; $i <= $num; $i++)
{
$funzione = $prefisso . $i;
$this->$funzione();
}
}
}
$obj = new OggettoInventato();
$obj->richiamaMetodi();
?>Il risultato ottenuto è il medesimo.

