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

Rispondi quotando