SITI WEB DINAMICI
CON PHP
lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net
L'AMBIENTE DI LAVORO
SERVER WEB
 ­ Debian 7.0, Apache2, PHP5, MySQL5
STRUMENTI
 ­ accesso tramite SMB alle directory di lavoro
 ­ manuale PHP disponibile in rete locale
 ­ editor di testo per programmi ed esempi
DOCUMENTAZIONE
 ­ meglio quella in inglese
   http://www.php.net/docs.php    

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

2

24
UN DOCUMENTO HTML
<html>
  <head>
    <title>HELLO WORLD</title>
  </head>
  <body>
    Hello world!
  </body>
</html>

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

3

24
SCHEMA DI FUNZIONAMENTO
richiesta del client

risposta del server

ELABORAZIONE: il server esegue il codice PHP
 nell'oggetto indicato dal URL e restituisce al
 client l'output del programma

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

4

24
COSA FA L'INTERPRETE PHP?
 ­ interpreta il codice fra <?php e ?>
 ­ restituisce come output tutto il resto
 ­ meglio un documento HTML contenente codice
   o codice che genera un documento HTML?

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

5

24
PHP TAGS #1
<html>
  <head>
    <title>HELLO WORLD</title>
  </head>
  <body>
    <?php echo(“Hello world!”); ?>
  </body>
</html>

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

6

24
PHP TAGS #2
<?php
  echo(“<html>nn”);
  echo(“  <head>n”);
  echo(“    <title>HELLO WORLD</title>n”);
  echo(“  </head>nn”);
  echo(“  <body>n”);
  echo(“    Hello world!n”);
  echo(“  </body>nn”);
  echo(“</html>n”);
?>

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

7

24
ALCUNE NOZIONI DI BASE
 ­ commenti
 ­ separazione delle istruzioni

RIFERIMENTI:
http://www.php.net/manual/en/language.basic­syntax.comments.php 
http://www.php.net/manual/en/language.basic­syntax.instruction­separation.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

8

24
TIPI DI DATI
 ­ 4 tipi scalari
    ­ boolean
    ­ integer
    ­ float
    ­ string
 ­ 2 tipi composti
    ­ array
    ­ object
 ­ 2 tipi speciali
    ­ resource
    ­ null
siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

9

24
TIPI SCALARI #1
BOOLEAN
 ­ vero o falso
INTEGER
 ­ numeri interi con segno (massimo e minimo?)
FLOAT
 ­ numeri decimali con segno (massimo e minimo?)
RIFERIMENTI
http://www.php.net/manual/en/language.types.boolean.php 
http://www.php.net/manual/en/language.types.integer.php 
http://www.php.net/manual/en/language.types.float.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

10

24
TIPI SCALARI #2
STRING
 ­ stringhe di caratteri
 ­ single­quoted vs double­quoted
 ­ stringhe come array di caratteri

RIFERIMENTI
http://www.php.net/manual/en/language.types.string.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

11

24
TIPI COMPOSTI #1 - ARRAY
ARRAY = collezione ordinata di elementi
 ­ array con chiave numerica
 ­ array associativi
 ­ mix di chiavi di tipo diverso
 ­ tipi validi per i valori
RIFERIMENTI
http://www.php.net/manual/en/language.types.array.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

12

24
TIPI COMPOSTI #2 - OBJECT
 ­ da PHP5, nuovo modello a oggetti
 ­ PASSO 1: definire classe (proprietà e metodi)
 ­ PASSO 2: istanziare l'oggetto

RIFERIMENTI:
http://www.php.net/manual/en/language.types.object.php 
http://www.php.net/manual/en/language.oop5.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

13

24
TIPI SPECIALI
RESOURCE
 ­ file aperti, connessioni a database
 ­ in generale, riferimenti a risorse esterne
NULL
 ­ nessun valore
 ­ utilità?

RIFERIMENTI:
http://www.php.net/manual/en/language.types.resource.php 
http://www.php.net/manual/en/language.types.null.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

14

24
LE VARIABILI #1
 ­ nome di una variabile
    ­ inizia con “$”...
    ­ ...seguito da lettera o underscore...
    ­ ...poi lettere, numeri, underscore
    ­ il nome di una variabile è case­sensitive
    ­ nome riservato: $this
 ­ dichiarazione delle variabili?

RIFERIMENTI:
http://www.php.net/manual/en/language.variables.basics.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

15

24
LE VARIABILI #2
 ­ assegnazione per valore o per riferimento
    ­ $var1 = “pippo”;
    ­ $var2 = $var1;
    ­ $var3 = &$var1;
 ­ funzioni relative alle variabili

RIFERIMENTI:
http://www.php.net/manual/en/language.references.php 
http://www.php.net/manual/en/ref.var.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

16

24
VARIABILI PREDEFINITE
 ­ $_SERVER
 ­ $_GET
 ­ $_POST
 ­ $_FILES
RIFERIMENTI:
http://www.php.net/manual/en/reserved.variables.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

17

24
VISIBILITÀ DELLE VARIABILI
 ­ ambiti di visibilità
 ­ variabili “global” e “static”
 ­ variabili “superglobal”

RIFERIMENTI:
http://www.php.net/manual/en/language.variables.scope.php 
http://www.php.net/manual/en/language.variables.superglobals.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

18

24
VARIABILI “VARIABILI”
 ­ usare una variabile per definire il nome
   di un'altra variabile
 ­ uso degli array e risoluzione delle ambiguità

RIFERIMENTI:
http://www.php.net/manual/en/language.variables.variable.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

19

24
COSTANTI
 ­ sintassi (e accorgimenti)
 ­ perché usarle?
 ­ magic constants

RIFERIMENTI:
http://www.php.net/manual/en/language.constants.php 
http://www.php.net/manual/en/language.constants.predefined.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

20

24
OPERATORI
operatore = qualcosa che prende come input uno o
            più valori (o espressioni) e
            restituisce in output un valore
 ­ molti tipi di operatori
 ­ ordine di applicazione degli operatori

RIFERIMENTI:
http://www.php.net/manual/en/language.operators.php 
http://www.php.net/manual/en/language.operators.precedence.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

21

24
ESPRESSIONI
espressione = qualsiasi cosa abbia un valore
 ­ valori, variabili o combinazioni tramite
   l'uso di opeatori
 ­ funzioni

RIFERIMENTI:
http://www.php.net/manual/en/language.expressions.php 

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

22

24
DOMANDE?

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

23

24
ALLA PROSSIMA LEZIONE!
24gen

siti web dinamici con php

lezione #02 – 21/01/2014
Matteo Moro - www.MatteoMoro.net

24

24

Corso PHP ENAIP - lezione #02 - 21/01/2014