ho creato questa pagina test.php :
codice:
<?php
class miaClasseName
{
//Globale
var $gBreak = "
";
var $gBreakToChange = "\n";
var $titolo_ordine = array('primo', 'secondo', 'terzo', 'quarto', 'quinto');
var $titolo_array_titoli = array(
array('juve', 'milan', 'inter', 'napoli', 'udinese'),
array('rosso', 'bianco', 'nero', 'verde', 'azzurro'),
array('real', 'barca', 'dinamo', 'bayern', 'stella')
);
var $titolo_num = 3;
var $titolo_num_volte = 6;
function functionUno(){
return functionTipo('titolo uno', 0);
}
function functionDue(){
return functionTipo('titolo Due', 1);
}
function functionTre(){
return functionTipo('titolo Tre', 2);
}
function functionTipo($titolo, $idxtitolo){
$titolo_tmp = '';
$titolo_tmp .= getIntroduzione().''.aCapo(2);
for($i=0; $i<$titolo_num; $i++) {
$titolo_tmp .= getAnnunciotitolo(i,$titolo,$titolo_array_titoli[$idxtitolo][i]).''.aCapo(2);
for($j=0;$j<$titolo_num_volte;$j++) {
$titolo_tmp .= getTantiMsg().''.aCapo(2);
}
}
$titolo_tmp .= functionFine().''.aCapo(2);
return $titolo_tmp;
}
function getAnnunciotitolo($numtitolo,$titolo,$titletitolo){
return 'Ciao '.$titolo_ordine[$numtitolo].' '.$titolo.' si sono '.$titletitolo.'»';
}
function getIntroduzione(){
return '«mio testo Introduzione»';
}
function getTantiMsg(){
$temp = 'Mio Titolo\n\n';
$temp .= 'la vita è bella.';
return $temp;
}
function functionFine(){
$temp = 'Titolo Fine\n\n';
$temp .= 'Alla fine della strada.';
return $temp;
}
function aCapo($num){
$tmp = $gBreak;
for($i=0; $i<$num; $i++) {
$tmp .= $gBreak;
}
return $tmp;
}
function getFunctionName( $params ){
$giorno = 1;
$tmp = '';
$tmp = functionUno();
/*
switch($giorno) {
case 1:$tmp .= functionUno();break;
case 2:$tmp .= functionDue();break;
case 3:$tmp .= functionTre();break;
}
*/
return $tmp;
}
}
$titolo = miaClasseName::getFunctionName( $params );
//$titolo = miaClasseName::functionUno();
echo $titolo;
?>
Quando la chiamo ottengo questo errore:
Fatal error: Call to undefined function functionUno() in C:\xampp\htdocs\test\test.php on line 91
Se invece di
$titolo = miaClasseName::getFunctionName( $params );
uso
$titolo = miaClasseName::functionUno();
lo stesso messaggio l'ho ottengo per la function functionTipo().
Sembra che le function della classe non vede le function interne. Potete aiutarmi a capire l'errore?
Grazie