PHP 2. Array, operatori, costrutti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PHP 2. Array, operatori, costrutti"

Transcript

1 PHP 2 Array, operatori, costrutti 1

2 Array in PHP Gli array conservano un gruppo di valori che possiamo recuperare o attraverso un numero intero (iniziando dallo 0) oppure attraverso una stringa (array associativi) Esempio $vino['sa'] = "Furore Bianco"; $vino['av'] = "Greco di Tufo"; $vino['na'] = "Biancolella"; Tecnologie di Sviluppo per il WEB 2

3 Creazione Array Si può creare un array semplicemente inserendo degli elementi in esso $professori[0] = costagliola ; $professori[1] = blundo ; $professori[2] = parente ; equivalente a: $professori[] = costagliola ; $professori[] = blundo ; $professori[] = parente ; La funzione array() serve a creare un array. I parametri passati in input sono usati come elementi dell array $professori = array( costagliola, blundo, parente ); Tecnologie di Sviluppo per il WEB 3

4 Esempio $spesa = array("mele", "pere", "pane", "latte"); // oppure $spesa[0] = "mele"; $spesa[1] = "pere"; $spesa[2] = "pane"; $spesa[3] = "latte"; // ma anche $spesa[] = "mele"; $spesa[] = "pere"; $spesa[] = "pane"; $spesa[] = "latte"; Tecnologie di Sviluppo per il WEB 4

5 Accesso ad array La funzione count restituisce la grandezza dell array Per accedere all elemento i-esimo si accede all elemento i-1 $professori[2]; Se si accede ad un elemento non inizializzato non viene generato nessun errore Tecnologie di Sviluppo per il WEB 5

6 Esempio ESEMPIO <?php $professori[] = "blundo"; $professori[] = "costagliola"; $professori[2] = "parente"; $professori[10] = "d'ambrosio"; printf( L'array contiene %d elementi\n, count($professori)); print( <br> ); for($i=0; $i< count($professori); $i++) { echo $i+1,") "; print(ucwords($professori[$i])); print("<br>"); } echo "Undicesimo elemento: ",$professori[10],"<br>"; echo "Centesimo elemento: ", $professori[99];?> Tecnologie di Sviluppo per il WEB 6

7 Risultato Tecnologie di Sviluppo per il WEB 7

8 Nota Invece di scrivere for($i=0; $i< count($professori); $i++) è meglio scrivere $cnt = count($professori); for($i=0; $i<$cnt; $i++) In questo modo la funzione count() è invocata solo una volta e non count($professori) volte Tecnologie di Sviluppo per il WEB 8

9 Altro modo per creare array Usando l operatore => si possono specificare gli indici dell array per ogni elemento, se non lo si usa l array costruito è indicizzato sugli interi a partire dallo 0 (zero) $frutta = array(1=> mele, 2=> pere, 3=> banane ); Tecnologie di Sviluppo per il WEB 9

10 Esempio <?php $frutta = array(1=>"mele", 2=>"pere", 3=>"banane"); $cnt=count($frutta); for($i=1; $i<= $cnt; $i++) echo $i, ") ", $frutta[$i], "<br>";?> Tecnologie di Sviluppo per il WEB 10

11 Esempio di array associativo $corso['blundo'] = tsw1 ; $corso['costagliola'] = tsw2 $corso['parente'] = tsw3 ; Oppure $corso = array('blundo' => 'tsw1', 'costagliola' => tsw2, 'parente' => 'tsw3' ); Tecnologie di Sviluppo per il WEB 11

12 Accesso ad array associativi Per far riferimento ad un elemento dell array associativo usiamo la seguente sintassi: $corso[parente] $corso['costagliola'] $corso["blundo"] $corso[$nome] Tecnologie di Sviluppo per il WEB 12

13 Esempio <?php $corso = array('blundo' => 'tsw1', "costagliola" => 'tsw2', 'parente' => 'tsw3'); echo $corso[blundo],"<br>"; echo $corso['costagliola'],"<br>"; echo $corso["parente"],"<br>"; $nome= "blundo"; echo $corso[$nome];?> Tecnologie di Sviluppo per il WEB 13

14 Accesso alle chiavi (indici) di un array In PHP possiamo accedere anche al valore delle chiavi (indici) di un array associativo senza conoscerle. Si usa la funzione each($nomearray) e le parole chiave key e value $corso e' il nome dell'array: for($i=0; $i< $cnt; $i++) { $riga = each($corso); echo $riga[key], " insegna ", $riga["value"],"<br>"; } ESMPIO Tecnologie di Sviluppo per il WEB 14

15 La funzione each() Ogni array in PHP conserva traccia del corrente elemento con cui stiamo lavorando Il puntatore all elemento corrente è noto come iteratore La funzione each() restituisce un array associativo che contiene due elementi e muove l iteratore una posizione in avanti Il primo elemento è indicizzato dalla stringa key Il secondo elemento è indicizzato dalla stringa value Tecnologie di Sviluppo per il WEB 15

16 Altre funzioni su iteratori current() Restituisce il valore dell elemento puntato dall iteratore corrente key() Restituisce la chiave dell elemento corrente reset() Muove l iteratore al primo elemento dell array next() prev() end() Tecnologie di Sviluppo per il WEB 16

17 Esempio <h2>utilizzo di iteratori su array</h2> <?php $corso = array(blundo => 'tsw1', "parente" => 'tsw2', 'cost' => 'tsw3'); reset($corso); echo "<table border=\"2\">\n"; echo "<tr> <th> Chiave </th> <th> Elemento </th> </tr>\n"; echo "<tr> <td> ", key($corso), "</td> <td>", current($corso), "</td> </tr>\n"; while(next($corso)) { echo "<tr> <td> ", key($corso), "</td> <td>", current($corso), "</td> </tr>\n"; } echo "</table>\n";?> ESEMPIO Tecnologie di Sviluppo per il WEB 17

18 HTML inviato al client <h2>utilizzo di iteratori su array</h2> <table border="2"> <tr> <th> Chiave </th> <th> Elemento </th> </tr> <tr> <td> blundo</td> <td>tsw1</td> </tr> <tr> <td> parente</td> <td>tsw2</td> </tr> <tr> <td> costagliola</td> <td>tsw3</td> </tr> </table> Tecnologie di Sviluppo per il WEB 18

19 Ordinare array sort() Ordina i valori dell array (crescente) distrugge il valore delle chiavi asort() Ordina i valori dell array conservando la correlazione tra il valore e la sua chiave ksort() Ordina le chiavi conservando la correlazione tra il valore e la sua chiave rsort() rasort() rksort() Ordinamento in ordine inverso ESEMPIO Tecnologie di Sviluppo per il WEB 19

20 Ordinare array secondo un proprio ordine usort(nomearray, NomeFunzione) ordina NomeArray secondo il criterio specificato dalla funzione NomeFunzione function cmp ($a, $b) { if ($a == $b) return 0; return ($a < $b)? -1 : 1; } $arr = array (3, 2, 5, 6, 1); usort ($arr, "cmp"); while (list ($chiavve, $vallore) = each ($arr)) { echo "$chiavve: $vallore\n"; } La funzione list copia i valori dell'array nelle vbls Ordinamento crescente di $a Tecnologie di Sviluppo per il WEB 20

21 Risultato Il risultato dello script precedente è 0: 1 1: 2 2: 3 3: 5 4: 6 E' un esempio, sarebbe stato più opportuno usare la funzione sort() E' spesso usata per array multidimensionali. Tecnologie di Sviluppo per il WEB 21

22 Nota La funzione di confronto scritta dall utente deve ricevere in input due parametri e restituire un intero Minore di zero se il primo parametro è da considerarsi minore del secondo Uguale a zero se i due parametri sono da considerarsi uguali Maggiore di zero se il primo parametro è da considerarsi maggiore del secondo Tecnologie di Sviluppo per il WEB 22

23 Array multidimensionali 1 Ogni elemento di un array può essere di tipo qualunque, anche di tipo array Un array multidimensionale è un array che contiene altri array for($i=1; $i < $n; $i++) for($j=1; $j < $n; $j++) $a[$i][$j] = $i * $j; Tecnologie di Sviluppo per il WEB 23

24 Array multidimensionali 2 $riga0 = array(1, 2, 3); $riga1 = array(4, 5, 6); $riga2 = array(7, 8, 9); $multi = array($riga0, $riga1, $riga2); print_r($multi); /* human readable print */ Tecnologie di Sviluppo per il WEB 24

25 Ordinare array multipli con usort $products = array( array( 'Tires', 100 ), array( 'Oil', 10 ), array( 'Spark Plugs', 4 )); ordina sulla seconda colonna function compare($x, $y){ if ( $x[1] == $y[1] ) return 0; else if ( $x[1] < $y[1] ) return -1; else return 1; } usort($products, 'compare'); ESEMPIO Tecnologie di Sviluppo per il WEB 25

26 Funzioni su array (1/2) array_pad(array, nbr_elmnts, value) Restituisce un nuovo array con nbr_elmnts, padded con altri elementi inizializzati allo stesso value. Esempi: $scores = array(3,10); $padded=array_pad($scores, 5,0); $padded è (3,10,0,0,0); $padded=array_pad($scores,-5,0); $padded è (0,0,0,0,0) $scores=array_pad($scores,5,0) modifica in situ Tecnologie di Sviluppo per il WEB 26

27 Funzioni su array (2/2) array_chunk(array, size [,preserve_keys]) Restituisce un array multidimensionale fatto degli elementi di array. Ogni riga è lunga size preserve_keys: booleano array_slice(array, offset, length) Restituisce un sotto-array di array lungo length a partire dalla posizione offset list($var1, $var2, ) = $array Copia i valori di $array nelle variabili $var1, $var2 array_key_exists(chiave, array) Restituisce un booleano se esiste la chiave nell'array. in_array(valore, array) Booleano: se valore è in array Chunk Tecnologie di Sviluppo per il WEB 27

28 Esempio di list È usata per assegnare valori ad una lista di variabili in una sola istruzione, i valori sono presi da un array $info = array('caffè', 'scuro', 'caffeina'); // assegna tutte le variabili list($bevanda, $colore, $componente) = $info; // assegna solo in parte list($bevanda,, $componente) = $info; // assegna solo l'ultima variabile list(,, $componente) = $info; Tecnologie di Sviluppo per il WEB 28

29 Altre funzioni sugli array array_walk(array, func[,terzoprmtr] ) Chiama la funzione func su ogni elemento dell array func deve avere almeno due parametri (opzionalmente tre): il primo identifica il valore dell'elemento; il secondo identifica la chiave; il terzo un parametro generico di func. array_filter(array, func) Restituisce un array. Ogni valore di array è passato a func, l array restituito contiene solo quegli elementi di array per cui la funzione func ha restituito true Tecnologie di Sviluppo per il WEB 29

30 Esempio di array_walk <h2>utilizzo di funzioni su array</h2> <?php $frutta = array ("uno"=>"limone", "due"=>"arancia", "tre"=>"banana"); function modifica (&$elemento, $chiave, $prefisso) { /* write */ $elemento = "$prefisso:::::::::: $elemento"; } function stampa ($elemento, $chiave) { /* read */ echo "$chiave: $elemento<br>\n"; } echo "<h3>prima...:\n</h3>"; array_walk ($frutta, 'stampa'); array_walk ($frutta, 'modifica', 'frutto'); echo "<h3>... e dopo:\n</h3>"; array_walk ($frutta, 'stampa');?> ESEMPIO Tecnologie di Sviluppo per il WEB 30

31 Esempio array_filter <h2>utilizzo di array_filter</h2> <?php function dispari($var) { return ($var % 2); } function pari($var) { return (!($var % 2)); } $array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array (6, 7, 8, 9, 10, 11, 12); echo "<h3>array iniziali :</h3>\n"; print_r($array1); echo "<br>"; print_r($array2); echo "<h3>applico la funzione 'dispari' al primo array :</h3>\n"; print_r(array_filter($array1, "dispari")); echo "<h3>applico la funzione 'pari' al secondo array:\n</h3>"; print_r(array_filter($array2, "pari"));?> esempiowalkconfilter ESEMPIO Tecnologie di Sviluppo per il WEB 31

32 Conversione tra variabili e array PHP fornisce due funzioni extract() e compact() che permettono di creare variabili da array e viceversa Si usano con gli array associativi $frutta = array ("uno"=>"limone", "due"=>"arancia", "tre"=>"banana"); extract($frutta); Dopo esistono le variabili $uno, $due e $tre, con i valori limone, arancia e banana, rispettivamente. Tecnologie di Sviluppo per il WEB 32

33 Nota su extract() Possiamo aggiungere automaticamente un prefisso a tutte le variabili create extract($nomearray, EXTR_PREFIX_SAME, prefisso ) Tutte le variabili che vanno in conflitto con una vbl esistente (con lo stesso nome) inizieranno con prefisso_ extract($frutta, EXTR_PREFIX_SAME, gusto ); echo $gusto_uno; Tecnologie di Sviluppo per il WEB 33

34 compact() È il complemento di extract() A partire da una lista di variabili, crea un array associativo le cui chiavi sono i nomi delle variabili $nome = "ambrogio"; $cognome = "unz"; $corso = "tsw"; $record = compact('nome', 'cognome', 'corso'); // oppure $chiavi=array(nome, cognome, corso); $record=compact($chiavi); Tecnologie di Sviluppo per il WEB 34

35 Array e stringhe In PHP esistono due funzioni per passare da una stringa ad un array e viceversa explode() Passa da una stringa ad un array implode() Passa da un array ad una stringa Tecnologie di Sviluppo per il WEB 35

36 explode() Applicata su una stringa restituisce un array di sottostringhe individuate dal delimitatore Sintassi explode(delimitatore, stringa [, limite]) limite è un parametro opzionale che indica il massimo numero di elementi da estrarre da stringa Esempio $pizza = "mozzarella pomodoro basilico olio"; $ingredienti = explode(" ", $pizza); Tecnologie di Sviluppo per il WEB 36

37 implode() Applicata ad un array restituisce una stringa rappresentante gli elementi dell array divisi da un separatore Sintassi implode(separatore, array) Esempio $array = array('ambrogio', $stringa = implode(",", $array); ESEMPIO Tecnologie di Sviluppo per il WEB 37

38 Oggetti in PHP PHP supporta la programmazione orientata agli oggetti PHP supporta Incapsulazione Polimorfismo Ereditarietà L ereditarietà multipla è supportata come in JAVA (con le interfacce) Vedremo un esempio di OOP con una classe per MySQL (?) Tecnologie di Sviluppo per il WEB 38

39 PHP: 5 4 (1) Membri e metodi public private Protected Metodi e Classi Astratte Solo firme, senza implementazioni Interfacce Tecnologie di Sviluppo per il WEB 39

40 PHP: 5 4 (2) La parola chiave per metodi e membri final Clonare Oggetti function clone() Viene verificato se esiste un tale metodo nella classe. In caso negativo una versione di default viene invocata. Tecnologie di Sviluppo per il WEB 40

41 PHP: 5 4 (3) Costruttore Unificati function construct() È utile per invocare costruttori di genitori da classi derivate Non c'è bisogno di conoscere il nome Distruttori function destruct() Quando l'ultimo riferimento ad un oggetto è distrutto, il metodo distruttore viene invocato. Non ha parametri Tecnologie di Sviluppo per il WEB 41

42 PHP: 5 4 (4) Costanti const cstn= HELLO WORLD ; Eccezioni C'è il supporto per la clausola catch all Ma non per quella finally Vbls membri static di Classi Statiche possono ora essere inizializzate Metodi statici Tecnologie di Sviluppo per il WEB 42

43 PHP: 5 4 (5) Metodo Instanceof Utile per accertarsi se un oggetto è una istanza di una classe, estende una classe oppure implementa un'interfaccia Iterazione <?php class Foo { var $x = 1; var $y = 2; } $obj = new Foo; foreach ($obj as $prp_name => $prop_value) { echo $prp_name = $prop_value\n ; }?> Tecnologie di Sviluppo per il WEB 43

44 PHP: 5 4 (6) Il nuovo metodo magico tostring() Permette di sovraccaricare la conversione a stringa dell'oggetto Altri dettagli all'url Tecnologie di Sviluppo per il WEB 44

45 Operatori in PHP 1 Aritmetici +, -, *, /, % Assegnamento = (supporta la forma abbreviata: e.g., += ) Incremento/decremento ++ e -- (prefisso/postfisso) Operatori bitwise &,, ^ (xor), ~, <<, >> Tecnologie di Sviluppo per il WEB 45

46 Operatori in PHP 2 Confronto ==, ===(tipato),!=,!==, <, >, <=, >= Logici &&, and,, or, xor,! Condizionale?: (if aritmetico) Casting (int), (float), (string), (bool), (array), (object) Tecnologie di Sviluppo per il WEB 46

47 Operatori in PHP 3 Controllo dell errore precede un comando, gli errori eventualmente generati sono ignorati Esecuzione (`) La stringa all interno di ` (backtick) è passata alla shell per essere eseguita: $output = `ls -al`; echo "<pre>$output</pre>"; domanda: se tolgo <pre>?? backtick.php Tecnologie di Sviluppo per il WEB 47

48 Operatori di confronto L operatore == testa se due espressioni sono uguali (anche dopo aver effettuato delle conversioni di tipo) 1 == 1 -> true 1 == 1 -> true L operatore === testa se due espressioni sono identiche (le due espressioni devono essere uguali e dello stesso tipo) 1 === 1 -> true 1 === 1 -> false ESEMPIO Tecnologie di Sviluppo per il WEB 48

49 Istruzioni per il controllo del flusso 1 if (condizione) istruzioni if(condizione) istruzioni1 else istruzioni2 Tecnologie di Sviluppo per il WEB 49

50 Istruzioni per il controllo del flusso 2 if(condizione1) istruzioni1 elseif(condizione2) istruzioni2. else istruzionin Tecnologie di Sviluppo per il WEB 50

51 Istruzioni per il controllo del flusso 3 Istruzione switch switch($a) { case 1: print("a è uguale a uno"); break; case 2: print("a è uguale a due"); break; default: print("a non vale né uno né due"); } Tecnologie di Sviluppo per il WEB 51

52 Cicli while(condizione) istruzioni do istruzioni while(condizione); for(inizializzazione; condizione; incremento) istruzioni Tecnologie di Sviluppo per il WEB 52

53 Ciclo foreach Permettere di iterare sugli elementi di un array foreach($nomearray as $elemento) { istruzioni } $elemento assumerà tutti i valori contenuti in $nomearray Tecnologie di Sviluppo per il WEB 53

54 Ciclo foreach 2 Possiamo scorrere contemporaneamente le chiavi e gli elementi di un array foreach($nomearray as $indice => $elemento) { istruzioni } Le variabili $indice ed $elemento assumeranno, rispettivamente, tutti i valori delle chiavi e degli elementi contenuti in $nomearray Tecnologie di Sviluppo per il WEB 54

55 exit Termina l esecuzione di uno script Ha un argomento opzionale Se è un numero, indica lo stato di uscita del processo Se è una stringa, viene stampata prima che il processo termini exit() è un sinonimo di die() $handle localhost,$user, $passwd) or die( Connessione fallita ); Tecnologie di Sviluppo per il WEB 55

56 Includere del codice 1 PHP offre due possibilità per includere un documento (e.g., una libreria) in uno script PHP include e require La differenza principale è che require genera un errore fatale se non si trova il file da includere; mentre, include genera solo un warning Sintassi include NomeFile ; require NomeFile Tecnologie di Sviluppo per il WEB 56

57 Includere del codice 2 Per sopprimere gli errori possiamo In genere require è usato per includere delle librerie; mentre, include è usato per includere del codice HTML comune a più documenti Inclusioni di file con estensione.php includono l output dello script quindi... Tecnologie di Sviluppo per il WEB 57

58 Includere del codice 3 Per cui si usa l estensione.inc per le librerie e l estensione.html per documenti Un modo più efficiente per gestire intestazioni e piè pagina è quello di includere una libreria e poi invocare delle funzioni per generare le parti comuni Se vogliamo essere sicuri che il file sia inserito una sola volta usiamo require_once e include_once Tecnologie di Sviluppo per il WEB 58

59 Esempio pagina.php <html> <head>.. </head> <body> <?php include header.html ;?> Contenuto HTML <?php include footer.html ;?> </body> </html> Potrebbe andare in un file che viene incluso ESEMPIO Tecnologie di Sviluppo per il WEB 59

60 Esempio di Libreria <html> <head>.. </head> <body> <?php require_once sito.inc ; genheader();?> Contenuto HTML <?php genfooter();?> </body> </html> Tecnologie di Sviluppo per il WEB 60

61 Funzioni in PHP 1 La sintassi per definire una funzione in PHP è la seguente: function NomeFunzione([lista parametri]) { implementazione } La lista dei parametri è una sequenza di variabili separate da virgola Non è permesso l overloading Il nome delle funzioni NON è case sensitive È possibile usare un numero variabile di argomenti Inoltre ad ogni parametro può essere assegnato un valore di default...: att.ne (vedi slides successive) Tecnologie di Sviluppo per il WEB 61

62 Valori di default <?php // il terzo parametro ha un valore di default function descrivi_film($titolo, $regista, $bn_colori = 'colori') { echo "Titolo: $titolo <br>"; echo "Regista: $regista <br>"; echo "B/N - colori: $bn_colori <br>"; } // chiamo la funzione passando 2 soli parametri // il terzo è sottointeso descrivi_film('il malato immaginario','tonino Cervi'); echo '<br>'; // chiamo la funzione passando tutti e 3 i parametri descrivi_film('i soliti ignoti','mario Monicelli','bianco e nero');?> Tecnologie di Sviluppo per il WEB 62

63 Scope di vlbs: (meravigliati?) 1. <?php 2. function quadrato($a) 3. { 4. $a = $a * $a; 5. } $numero = 2; 8. quadrato($numero); 9. echo $numero; //stampa 2!!! 10.?> Tecnologie di Sviluppo per il WEB 63

64 Funzioni in PHP 2 Gli argomenti possono essere passati per valore o per riferimento Per passare un argomento per riferimento è sufficiente, nella definizione della funzione, far precedere l argomento da & La chiamata si effettua come al solito Se il nome della funzione è preceduto da &, allora la funzione restituirà un valore per riferimento Tecnologie di Sviluppo per il WEB 64

65 Funzioni in PHP 3 Le variabili all interno di una funzione sono sempre locali Per accedere alle variabili globali dobbiamo dichiararle con la parola chiave global Le funzioni non conservano memoria della loro esecuzione a meno dell uso di variabili static Una funzione definita in uno script è disponibile ovunque in quello script Per chiarezza è meglio definire le funzioni all inizio, ma non è necessario Tecnologie di Sviluppo per il WEB 65

66 Funzioni in PHP 4 In aggiunta alle usuali funzioni fornite dai linguaggi di programmazione (manipolazione di array, date e tempo, stringhe, funzioni matematiche, ), PHP supporta un grande numero di funzioni che lo collegano ad altri tipo di software (molte di queste funzioni richiedono una speciale installazione): MySQL, MS SQL, Oracle 8 Shockwave Flash PDF, XML IMAP, POP3, NNTP E tanti altri ancora Tecnologie di Sviluppo per il WEB 66

67 Funzioni con numero variabile di argomenti Esistono tre funzioni per accedere al numero dei parametri ed ai parametri stessi di una funzione $array = func_get_args(); $num = func_num_args(); $valore = func_get_arg(indice); da 0 a $num-1 Il risultato di uno qualsiasi di queste funzioni non può essere usato direttamente, ma deve sempre essere associato prima ad una variabile Tecnologie di Sviluppo per il WEB 67

68 Valori restituiti Passati con l istruzione return Per far restituire più valori è sufficiente restituire un array function return_due() { return array( a, 3); } Tecnologie di Sviluppo per il WEB 68

69 Uso di funzioni anonime (closure), come assegnazioni a variabili. È possibile associare il nome di una funzione ad una variabile e poi invocare la funzione attraverso questa variabile function max($a, $b) { return ($a>$b? $a : $b); } $massimo = max ; $massimo(3,4); //restituisce 4 Tecnologie di Sviluppo per il WEB 69

70 Ancora funzioni anonime Possiamo crearle con create_function(); Sintassi $valorerestituito = create_function($stringaargomenti, $stringacorpo); Esempio $lambda = create_function( $a, $b, return(strlen($a) strlen($b)); ); Tecnologie di Sviluppo per il WEB 70

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione al linguaggio PHP Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione a PHP PHP è un linguaggio di programmazione general-purpose che viene utilizzato in larga parte

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3)

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3) Gli Array! Gli Array sono una delle funzioni più interessanti e flessibili.! A differenza degli altri linguaggi.! Gli array di PHP possono archiviare dati di vari tipi.! Possono organizzarli automaticamente

Dettagli

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni Array e WHILE Array nelle Stringhe Si può utilizzare il anche costrutto while insieme alle istruzioni each e list nella condizione: while(list($indice,$valore)=each($mio_array)) { echo $Indice - $Valore

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Introduzione alla programmazione in C++ 1 Un introduzione Che cosa è il C++? La programmazione procedurale La programmazione orientata agli oggetti La programmazione

Dettagli

PHP: Hypertext Preprocessor

PHP: Hypertext Preprocessor Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011 - PHP: Hypertext Preprocessor Caratteristiche avanzate Eufemia Tinelli 1 Contenuti PHP ad oggetti

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 8. PHP Parte I Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata A.A. 2010/2011

Dettagli

Linguaggio C - Funzioni

Linguaggio C - Funzioni Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Laboratorio di Informatica Lezione 2

Laboratorio di Informatica Lezione 2 Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio QUEUE : considerazioni QUEUE : considerazioni Si è realizzata una struttura dati complessa utilizzandone una primitiva, l array. Il pregio di tale implementazione è il basso costo computazionale, mentre

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

PHP. Indice. PHP: Hypertext Preprocessor. Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo

PHP. Indice. PHP: Hypertext Preprocessor. Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo PHP PHP: Hypertext Preprocessor Indice Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo Funzioni Form Cookie Sessione File 1 Introduzione PHP è un linguaggio

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo Il linguaggio PHP Parte I Introduzione Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it A.A. 2010/2011 Paolo Milazzo (Università di Pisa)

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web Array in PHP Lezione 7 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Overview Introduzione Array Numerici Array Associativi Array Multidimensionali Funzioni

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Laboratorio di reti II: PHP

Laboratorio di reti II: PHP Laboratorio di reti II: PHP Stefano Brocchi brocchi@dsi.unifi.it 2 marzo, 2009 Stefano Brocchi Laboratorio di reti II: PHP 2 marzo, 2009 1 / 55 Il PHP Il PHP è un linguaggio di scripting che si può inserire

Dettagli

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1 a cura di Giancarlo Cherchi 1 Introduzione Il meccanismo dell eredità consente di sfruttare delle relazioni tipo/sottotipo, ereditando attributi

Dettagli

Script PHP per Configurare gli Accessi ad Internet di un router CISCO

Script PHP per Configurare gli Accessi ad Internet di un router CISCO Script PHP per Configurare gli Accessi ad Internet di un router CISCO Autore Roberto Bandiera 9 dicembre 2014 Obiettivo: scrivere uno script PHP per poter controllare da remoto la configurazione di un

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

JavaScript. crash course. by Stefano Burigat

JavaScript. crash course. by Stefano Burigat JavaScript crash course by Stefano Burigat Introduzione ECMAScript (no DOM e BOM, no ) Sintassi simile a Java Variabili definite tramite var, loosely typed, operatore comma (,) per separare definizioni

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini Php: come nasce Il World Wide Web è stato

Dettagli

La connessione php-mysql con MySQLi

La connessione php-mysql con MySQLi La connessione php-mysql con MySQLi Premessa Lo scenario che si intende alla base di questo capitolo è di disporre di un ambiente phpmysql rappresentato nel seguente schema: L'applicazione php viene eseguita

Dettagli

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI PHP PHP - Storia Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI Al progetto si unirono Zeev Suraski e Andi Gutmans che ne scrissero l'interprete Zend Oggi è alla versione 5 e può essere

Dettagli

XML e PHP. Gestire XML con PHP. Appendice

XML e PHP. Gestire XML con PHP. Appendice Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire

Dettagli

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita

LICEO SCIENTIFICO LEONARDO DA VINCI - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli

Costruzione di Siti Web con PHP e MySQL. Lezione 4: Operatori, Array, Controlli e Cicli Costruzione di Siti Web con PHP e MySQL Lezione 4: Operatori, Array, Controlli e Cicli Argomenti della lezione In questa lezione si riprenderà il concetto di Array, nel suo aspetto basilare, ed in particolare

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Esercizi ed appunti PHP

Esercizi ed appunti PHP Indice 1. Informazioni sulla versione PHP installata... 2 2. Generatore di numeri random... 2 3. Contatore di visitatori... 2 4. Programma di inserimento di un nuovo record in un file... 4 scrivi_record.htm...

Dettagli

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni delle prove al calcolatore Esercizio 7 (esame del 08/01/2009) class TabellaDiNumeri{ private double[][] tabella;

Dettagli

Unità B3 Strutture di controllo

Unità B3 Strutture di controllo (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture

Dettagli

PHP: Interfacce; Gestione errori ed eccezioni. Pasqualetti Veronica

PHP: Interfacce; Gestione errori ed eccezioni. Pasqualetti Veronica PHP: Interfacce; Gestione errori ed eccezioni i Pasqualetti Veronica Interfacce In PHP non si possono ereditare proprietà da più classi. 2 Per ovviare al problema si possono creare delle interfacce che

Dettagli

ASP 3.0 Il Sito Dinamico

ASP 3.0 Il Sito Dinamico www.idstudio.it ASP 3.0 Il Sito Dinamico di Lorenzo Garassino Introduzione e scopo del libro 1. Scenario 1.1. Il panorama 1.2. Sito Statico o Dinamico? 1.3. Prospettive 2. Cos è ASP 2.1. Descrizione 2.2.

Dettagli

dall argomento argomento della malloc()

dall argomento argomento della malloc() Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere Connessione ad un server MySQL resource mysql_connect ([string server [, string username [, string password [, bool new_link [, int client_flags]]]]]) server nome o indirizzo del server username nome utente

Dettagli

SISTEMI OPERATIVI 14 settembre 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 14 settembre 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 14 settembre 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Synchronized (ancora)

Synchronized (ancora) Synchronized (ancora) Riscriviamo l esempio di prima. Usiamo una struttura modulare, con una classe Notificatore che ha opportuni metodi. La classe ha due campi privati, la lista buftext e un suo thread.

Dettagli

Iterazione e ricorsione. Cicli, Array e Programmazione su Sequenze. Ciclo while. Cicli

Iterazione e ricorsione. Cicli, Array e Programmazione su Sequenze. Ciclo while. Cicli Iterazione e ricorsione Dal punto di vista della teoria della computazione, affinché un linguaggio di programmazione imperativo (C, Pascal, codice nei metodi del Java, ecc.) raggiunga la potenza di calcolo

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Introduzione a PHP: Concetti Fondamentali

Introduzione a PHP: Concetti Fondamentali Introduzione a PHP: Concetti Fondamentali Davide Rocker Anastasia 20 dicembre 2005 Sommario Dopo alcuni anni di riflessione, riprende il mio percorso personale sul PHP. Questo breve documento parlerà dei

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

If a cascata, switch, boolean

If a cascata, switch, boolean If a cascata, switch, boolean If a cascata Switch Il tipo boolean Operatori logici, valutazione pigra 1 If a cascata Consideriamo una semplice classe che deve descrivere con una stringa gli effetti di

Dettagli

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI e AZIONAMENTI ELETTRICI INTRODUZIONE A MATLAB Ing. Alberto Bellini Tel. 0522 522626 e-mail: alberto.bellini@unimore.it

Dettagli

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone Il linguaggio Java Nato nel maggio 95 (James Gosling & al.) Orientato ad oggetti, basato sulle classi, concorrente Fortemente tipato: distinzione chiara tra errori statici ed errori dinamici Ad alto livello:

Dettagli

Corso Online Analista Programmatore Microsoft

Corso Online Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft We Train Italy info@wetrainitaly.it Programma Generale del Corso Analista Programmatore Microsoft Tematiche di Base Modulo Uno Le basi della programmazione

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Costruzione di Siti Web con PHP e MySQL Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Argomenti della lezione In questa lezione si riprenderanno le strutture di controllo, verrà introdotto

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

VARIABILI LOCALI E GLOBALI (ESTERNE)

VARIABILI LOCALI E GLOBALI (ESTERNE) VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al

Dettagli

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre

Introduzione allo sviluppo Web. Studium Generale, a.a. 2013-2014, II semestre Introduzione allo sviluppo Web Studium Generale, a.a. 2013-2014, II semestre 1 Contatto Daniel Graziotin daniel.graziotin@unibz.it http://ineed.coffee/teaching/introdu zione-allo-sviluppo-web 2 Esame Esame

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Corso di Laboratorio 2 Programmazione C++ Silvia Arcelli. 20 Ottobre 2014

Corso di Laboratorio 2 Programmazione C++ Silvia Arcelli. 20 Ottobre 2014 Corso di Laboratorio 2 Programmazione C++ Silvia Arcelli 20 Ottobre 2014 1 Tipi non Predefiniti Abbiamo visto: Tipi elementari (int, float, char,...) Tipi composti (arrays e tipi non predefiniti) C++ permette

Dettagli

Utilizzo e scrittura di classi

Utilizzo e scrittura di classi Utilizzo e scrittura di classi Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 14 novembre, 2001 Gino Perna Implementazione di classi in C++ UN ESEMPIO DI CLASSE: RISULTATI

Dettagli

Gestione dei processi

Gestione dei processi Gestione dei processi Dormire unsigned int sleep(unsigned int); Attende un numero specificato di secondi a meno che non si verifichi un segnale Restituisce 0 se l'attesa è terminata senza interruzioni,

Dettagli

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag