Salve a tutti,
mi sto dedicando a PHP da poco tempo, e c'è una cosa che mi lascia perplesso.
in una classe, nel metodo __construct() si possono chiamare altre funzioni di quella classe?
Mi spiego meglio con un semplice esempio:
la mia classe è:
Codice PHP:
class statistico
{
public $voti;
public $stri;
function __construct($stringa)
{
$this->stri = $stringa;
$this->voti = trasforma_stringa($stringa);
}
function get_array($i)
{
return $this->voti[$i];
}
function trasforma_stringa($st)
{
$arr = preg_split("/[\s,]+/", $st);
return $arr;
}
}
se poi, fuori dalla classe, invoco:
Codice PHP:
$a = new statistico($_POST['voti']);
echo $a->get_array(1);
non mi restituisce niente.
invece con il seguente codice funziona, come mai? io vorrei che trasforma_stringa avvenisse al momento dell'istanziazione
Codice PHP:
class statistico
{
public $stri;
function __construct($stringa)
{
$this->stri = $stringa;
}
function get_array2($arr, $i)
{
return $arr[$i];
}
function trasforma_stringa($st)
{
$arr = preg_split("/[\s,]+/", $st);
return $arr;
}
}
$a = new statistico($_POST['voti']);
$ray = $a->trasforma_stringa($_POST['voti']);
echo $a->get_array2($ray, 1);