SlideShare a Scribd company logo
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

More Related Content

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

Laravel Framework PHP
Laravel Framework PHPLaravel Framework PHP
Laravel Framework PHP
Beniamino Ferrari
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
santi caltabiano
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Giovanni Cappellini
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMS
Roberto Polillo
 
Maria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci- programmazione presentazioneMaria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci
 
Introduzione al PHP
Introduzione al PHPIntroduzione al PHP
Introduzione al PHP
GiancarloRomano1
 
Maria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci - programmazione relazioneMaria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci
 
Creare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpressCreare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpressGGDBologna
 
Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)
brossi676
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 Ok
Massimo Schiro
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
DrupalDay
 
S354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.xS354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.x
LEN Learning Education Network
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Giorgio Carpoca
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
KnowCamp
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
Emanuele Bartolesi
 
Sviluppare SPA con Vue
Sviluppare SPA con VueSviluppare SPA con Vue
Sviluppare SPA con Vue
Fabrizio Bernabei
 
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09
Francesco Ronchi
 
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...LeD87
 
Sviluppare SPA con Vue.js
Sviluppare SPA con Vue.jsSviluppare SPA con Vue.js
Sviluppare SPA con Vue.js
Fabrizio Bernabei
 

Similar to Corso PHP ENAIP - lezione #02 - 21/01/2014 (20)

Laravel Framework PHP
Laravel Framework PHPLaravel Framework PHP
Laravel Framework PHP
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMS
 
Maria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci- programmazione presentazioneMaria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci- programmazione presentazione
 
Introduzione al PHP
Introduzione al PHPIntroduzione al PHP
Introduzione al PHP
 
Maria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci - programmazione relazioneMaria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci - programmazione relazione
 
Creare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpressCreare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpress
 
Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 Ok
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
 
S354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.xS354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.x
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
 
Sviluppare SPA con Vue
Sviluppare SPA con VueSviluppare SPA con Vue
Sviluppare SPA con Vue
 
CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09CakePhp Linux Day Torino '09
CakePhp Linux Day Torino '09
 
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
Sviluppo di un prototipo di interfaccia per la verbalizzazione degli esami on...
 
Sviluppare SPA con Vue.js
Sviluppare SPA con Vue.jsSviluppare SPA con Vue.js
Sviluppare SPA con Vue.js
 

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