Programmazione Web Laboratorio 2: PHP ES 1 - La pagina personale di Bart Programmazione Web - Esercizi PHP 2 ES 1 - La pagina personale di Bart Programmazione Web - Esercizi PHP 3 Lo script bart.php Esegue una funzione main() che per prima cosa istanzia un nuovo oggetto della classe Statistico Statistico dati: datiNumerici: min: max: med: variab: Valutazione stringa array numero numero Valutazione Valutazione numerica: qualitativa: numero stringa Valutazione(in n:numero, s:stringa) comeNumero(): numero comeStringa(): stringa Statistico(in dati: stringa) analizzaDati(): booleano minimo() massimo() media() variabilita() stampa() Programmazione Web - Esercizi PHP 4 Lo script statistico.php Prevede un costruttore, che accetta in input la stringa proveniente dalla text area della home page di Bart, la spezza (suggerimento – usare le espressioni regolari e la funzione preg_split), controlla se gli elementi che compongono la stringa sono corretti e, in caso di esito positivo del controllo, inizializza il minimo, il massimo, la media e la variabilità tramite l’invocazione dei relativi metodi; infine, costruisce la pagina di risposta con i risultati calcolati array preg_split(string $pattern, string $subject) Per maggiori informazioni sull'uso di pattern: http://www.php.net/manual/en/pcre.pattern.php 5 Controllo degli errori Dopo l’inserimento, viene controllato che ogni vi sia un numero (suggerimento – usare la funzione intVal) e sia compreso tra 18 e 33, in caso contrario verranno segnalati gli errori tramite un metodo statico inputError In caso di errore, la procedura termina Programmazione Web - Esercizi PHP 6 Gli altri metodi della classe Statistico In caso di inserimento corretto dei dati, il minimo, il massimo, la media e la variabilità (con al massimo 2 cifre decimali) dei voti inseriti saranno calcolati dagli altri metodi della classe Statistico N 1 v= åvi N i=1 N 1 v = å| vi - v | N i=1 La valutazione qualitativa di media e variabilità sono definite come: • media: sufficiente in [18,21), discreta in [21,24), buona in [24,27), distinta in [27,30), ottima in [30,33), eccellente se pari a 33 • variabilità: nessuna se pari a 0, bassa in (0,2.5], normale in (2.5, 5.0], alta nei restanti casi Programmazione Web - Esercizi PHP 7 La funzione _autoload() Si consiglia di inserire la funzione _autoload() all’interno dello script bart.php per includere automaticamente le definizioni delle classi Statistico e Valutazione Programmazione Web - Esercizi PHP 8 Metodi costruttori e distruttori In accordo con PHP 5, si possono utilizzare i metodi costruttore _construct e distruttore _descruct nelle definizioni delle classi Statistico e Valutazione Statistico Valutazione Programmazione Web - Esercizi PHP 9 Ulteriori suggerimenti In PHP esistono delle funzioni matematiche che possono essere utilizzate per gli scopi del presente esercizio • min() per calcolare il minimo • max() per calcolare il massimo • round() per arrotondare un dato di tipo float • floor() per arrotondare un dato di tipo float all’intero inferiore • abs() per calcolare il valore assoluto • ceil() per arrotondare un dato di tipo float all’intero inferiore In PHP viene usata la funzione count per contare il numero di elementi di un array Programmazione Web - Esercizi PHP 10