Introduzione a PHP: Concetti Fondamentali



Похожие документы
Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Mac Application Manager 1.3 (SOLO PER TIGER)

IL MIO PRIMO SITO: NEWS

Corso di PHP. Prerequisiti. 1 - Introduzione

Funzioni in C. Violetta Lonati

STAMPA UNIONE DI WORD

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

GUIDA ALLE SOLUZIONI

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

MANUALE EDICOLA 04.05

Richiesta pagina PHP (es: index.php)

Corso di Informatica

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Note Operative per Accedere alla Posta Elettronica Certificata (PEC) Obbligo Iscrizioni 2011

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

File, Modifica, Visualizza, Strumenti, Messaggio

Amministrazione gruppi (Comunità)

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Dispensa di database Access

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).

Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

Integrazione InfiniteCRM - MailUp

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Laboratorio di Informatica

Soluzione dell esercizio del 2 Febbraio 2004

manuale utente per Viabizzuno online

Strutturazione logica dei dati: i file

Javascript: il browser

Esercizi di JavaScript

Guida all uso di Java Diagrammi ER

19. LA PROGRAMMAZIONE LATO SERVER

4 3 4 = 4 x x x 10 0 aaa

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

Il calendario di Windows Vista

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

MODULO 5 Appunti ACCESS - Basi di dati

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Gestione Risorse Umane Web

3. Installare Wamp Server

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

SISTEMI DI NUMERAZIONE E CODICI

CamiGas-Digigas: Manuale Referente

MANUALE PARCELLA FACILE PLUS INDICE

1.0 GUIDA PER L UTENTE

Convertitori numerici in Excel

Corso html 5. Di Roberto Abutzu. *********** Terza parte: Prime nozioni: Tag e prima pagina, continuazione. **********

Amministrazione Trasparente

Come realizzare i disegni in Autocad partendo da un immagine

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

PORTALE CLIENTI Manuale utente

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Database 1 biblioteca universitaria. Testo del quesito

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

MAUALE PIATTAFORMA MOODLE

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

La grafica con Word. La parte evidenziata è una Riga. La parte evidenziata è una Colonna. La parte evidenziata è una Cella

Dexma Newsletter System

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Manuale Utente Albo Pretorio GA

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Esercizio data base "Biblioteca"

Office 2007 Lezione 02. Le operazioni più

Versione 7.0 Taglie e Colori. Negozio Facile

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

AT1542C - CED - Tablet offline - manuale utente

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Olga Scotti. Basi di Informatica. Excel

Gestione delle formazione

Office 2007 Lezione 08

MANUALE UTENTE Fiscali Free

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

FPf per Windows 3.1. Guida all uso

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Amministrazione gruppi (all interno della Scuola)

RISOLUTORE AUTOMATICO PER SUDOKU

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Wiki di Netapprendere

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

DOCUMENTO ESPLICATIVO

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Esercizi su. Funzioni

MOCA. Modulo Candidatura. [Manuale versione 1.0 marzo 2013]

Транскрипт:

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 principi di PHP, partendo dalla gestione delle variabili per arrivare al controllo di flusso di operazioni (perte pronta, ma non ancora integrata). Si tratta di una guida base, da leggere velocemente, ma molto importante se ci si approccia per la prima volta ad un linguaggio di programmazione. Questo documento è da considerare incompleto e non corretto. Utilizzate pure tutte le informazioni che vi trovate dentro senza problemi, ma sempre con il beneficio del dubbio. Buon lavoro. 1. Introduzione 1.1 Un po di storia... Il PHP nasce a metà del 1994 dalle mani di Rasmus Lerdorf. Egli sviluppo una prima versione mai ufficializzata che utilizzò sulle sue pagine. Il successo arrivò presto e PHP si diffuse grazie a molti fattori. Il più importante fu sicuramente quello di possedere una sintassi C-like, che molto facilitava l apprendimento del linguaggio ad un gran numero di programmatori già smalizziati con i linguaggi compilati, ed in particolare con il C stesso. PHP 3 fu sicuramente la versione che riscosse il maggior successo, ma il maggior incremento tecnologico si ebbe con la versione 4 e l entrata nello sviluppo della Zend. PHP da allora è stato continuamente migliorato. L attuale versione di PHP è la 5, ma i concetti esposti sono così basilari che mai si farà riferimento alla versione. Quando vi troverete a lavorare con PHP però consultate attentamente la documentazione, che tra le altre cose indica da quando una data funzione è disponibile. Quando ho incominciato a lavorare con PHP la versione in uso era la 3, anche se già si vociferava di una versione 4, uscita infatti dopo poco. Si parla del 2000! Quanto tempo è passato... 1.2 Come funziona PHP? Una delle cose che più all inizio genera disorientamente per chi non ha mai avuto a che fare con linguaggi di questo tipo è capire il concetto di interpretazione. PHP è un linguaggio di scripting interpretato server-side (server-side HTMLembedded scripting language). In parole povere, quando viene richiesta una 1

pagina web contenente codice PHP al suo interno, il web server (nel nostro caso faremo riferimento ad Apache) manda la pagina con il codice all engine del PHP, il quale da come risposta delle richieste pagine HTML completamente formattate, rendendo il codice perfettamente trasparente all utente finale. È un funzionamento molto semplice, efficace e veloce. Visualizzando il codice delle pagine (l estensione delle pagine PHP è.php, tranne diversi settaggi del web server) si vedrà solo HTML puro e di fatto il sorgente della pagina PHP può essere modificato solo dal web master (o da chi ha le credenziali per accedere al sorgente). PHP attualmente viene eseguito come modulo all interno del web server. Questo meccanismo, che permette sia maggiore sicurezza che maggiore efficienza, non è stato l unico adottato. Le vecchie versioni di PHP venivano eseguite come script CGI. L installazione dell engine PHP è accuratamente spiegata, a seconda delle versioni e del tipo di web server, sul sito www.php.net, nella sezione relativa alla documentazione. La documentazione del PHP è scrupolosa e completa: deve essere sempre il vostro punto di riferimento!!! 2. Concetti Fondamentali 2.1 PHP Escape Il dubbio fondamentale: come fa PHP a capire cosa deve elaborare e cosa deve lasciare così com è? La risposta è presto data: glielo si dice! :) Senza fare troppi sofismi, vediamo subito un esempio: <html> <head> <title>...</title> </head> <body> <! codice HTML non interpretato > / codice PHP interpretato / <! codice HTML non interpretato > </body> </html> Listato 1: Pagina PHP base Nella listato 1 si vede una riga che deve essere interpretata dall engine PHP. Per indicarla si usano particolari sequenze di escape. La più diffusa è: <?php...?> oppure: <?...?> Esistono altre modalità, alcune delle quali obsolete. Consultate la documentazione se ne volete sapere di più! 2

2.2 Include & Require Uno degli utilizzi più classici delle architetture Server Side è quello della creazione di pagine dinamiche costruite come mosaici, formate da tanti file che si legano tra loro formando il risultato finale. Essendo la risposta del server ad una richiesta di pagina.php puro codice HTML, questo sistema è un trucco molto elegante per modificare un certo numero di pagine con una sola modifica: è infatti necessario intervenire solo su un sottomodulo, invece che modificare un numero imprecisato di pagine, per ottenere il risultato cercato. HTML permette di ottenere un risultato simile tramite l utilizzo dei frame, tecnica di web design ormai superata!!! La sintassi per l utilizzo di include e require è analoga: include( nomefile.ext ); Domanda: dov è la differenza? Facile: se volete che lo script continui se manca un collegamento, usate include, altrimenti non esitate ad usare require. Questo comportamento è dettato da un utilizzo importante di questi due costrutti: la realizzazione di file di libreria, contenenti una serie di funzioni, che vengono incluse ed utilizzate nel file principale di uno script. Così, se lo script può completare anche con la mancanza di una di queste librerie, si utilizza include, altrimenti è bene usare require. Esistono altri due comandi importanti: require once e include once. Entrambi si comportano come già detto, ma in più controllano se un file è stato già incluso, eseguendo l operazione una sola volta. Mio consiglio: in genere la scelta migliore è usare require once. 2.3 Operatori Uno degli aspetti più importante, anche se molto semplice, di ogni linguaggio di programmazione è quello della corretta comprensione dell uso e del significato degli operatori. Gli operatori sono quei caratteri particolari che indicano che tipo di operazione si deve svolgere. Gli operatori sono fondamentalmentamente di due tipi: aritmetici e logici. Queste due categorie però non sono le uniche!!! Vediamo alcune tabelle con gli operatori più importanti, partendo dagli operatori aritmetici: Operatore Operazione eseguita $a + $b Somma tra $a e $b $a - $b Resto di $b sottratto ad $a $a * $b Prodotto di $a e $b $a / $b Divisione tra $a e $b $a % $b Resto di $a diviso per $b Altra importante categoria è quella degli operatori logici: 3

Operatore Operazione eseguita $a AND $b Vero se $a e $b sono veri entrambi $a && $b Vero se $a e $b sono veri entrambi $a OR $b Vero se o $a o $b è vero $a $b Vero se o $a o $b è vero $a XOR $b Vero se o $a o $b è vero, ma non entrambi!$a Vero se $a non è vero Un altra categoria di operatori fondamentale è quella degli operatori di confronto. Adesso vediamo i più importanti, ma quando si parlerà di variabili si farà riferimento a questa categoria spiegandone le caratteristiche più importanti. Operatore Operazione eseguita $a == $b Vero se il valore di $a e $b coincidono $a!= $b Vero se il valore di $a e $b non coincidono $a < $b Vero solo se $a è più piccolo di $b $a > $b Vero solo se $a è più grande di $b $a <= $b Vero se $a è minore o uguale a $b $a >= $b Vero se $a è maggiore o uguale a $b Ci sono due operatori particolari che meritono una trattazione a parte. Il primo è il fondamentale operatore di assegnamento. Vediamolo subito con un esempio. $a = 5; L operatore = ha la capacità di copiare il valore a destra del simbolo dentro la variabile a sinistra del simbolo (le due parti, in programmazione, vengono detti anche valore destro e valore sinistro ). Questa proprietà rende possibile l utilizzo delle variabili, a cui vengono assegnati dei valori o da cui vengono letti dei valori. Si tratta di una proprietà fondamentale in ogni linguaggio di tipo procedurale (ed il PHP è di fatto uno di questi!). L altro operatore che merita una trattazione a sè è l operatore di concatenazione. Questo è particolarmente utile quando si lavora con le stringhe. Ad esempio: $tmp1 = Rocker ; $tmp2 = Rock and Roll ; $result = $tmp1. love. $tmp2; // Rocker love Rock and Roll In questo caso abbiamo concatenato una serie di stringhe (tramite l operatore. ) per ottenere una stringa più lunga. Spesso lavorare in questo modo permette di creare le stringhe durante l elaborazione, componendo la pagina a seconda dei diversi flussi d elaborazione che l esecuzione prende. Come già detto, la quantità di operatori che il PHP possiede è grandissima. Rimando al manuale per una trattazione più completa e dettagliata. Come sempre, che il manuale sia con te!. 4

3. Variabili Uno degli aspetti base di ogni linguaggio di programmazione sta nelle variabili. Le variabili del PHP, in modo simile al Perl, ma diversamente dal C, sono molto flessibili e vengono riconosciute automaticamente. La variabile nel PHP viene definita nel suo contenuto dall engine 1. Le variabili possono contenere qualsiasi cosa. Imparerete con il tempo che la variabile del PHP può essere usata come un notes dove inserire una funzione che deve essere richiamata più volte. L inizializzazione di una variabile può essere fatta semplicemente assegnandole un valore (ricordate l operatore =). Non deve essere definita a monte, ne tanto meno si deve definire di che tipo è. A volte però può essere utile e necessario farlo! Per assegnare anche il tipo ad una variabile si usa questa sintassi: $variabile = (int) 1; Per sapere quali sono i tipi di variabili (da sostituire a posto di int) consultate il manuale del PHP. Importante: tutte le variabili del PHP iniziano con $. Questa è una regola imprescindibile, ma anche una forma di notazione che permette subito di distinguere nel codice quello che cerchiamo. Un array è un insieme di valori identificati da un solo oggetto (oddio, la definizione non è felicissima, ma passatemela!) L inizializzazione di un array è fatta assegnandoli un valore... ma in modo diverso dalla pura assegnazione. Ecco un esempio: $nomi[ ] = Davide // Indicizzato come $nomi[0] $nomi[ ] = Fabio // Indicizzato come $nomi[1]...così via! In questo modo quando viene inserito un nuovo valore nell array, questo diventa l ultimo. È importante ricordare che i membri di un array partono nel conteggio da 0 e non da 1! Altri linguaggi partono nel conteggio da 1, ma non - ad esempio - il C da cui il PHP è derivato. Esistono array anche multidimensionali, differenti da quelli visti in precedenza che invece erano array monodimensionali. Ecco alcuni esempi di array multidimensionali: # Example 1: $a[ color ] = red ; $a[ taste ] = sweet ; $a[ shape ] = round ; $a[ name ] = apple ; $a[3] = 4; # Example 2: $a = array( color => red, taste => sweet, shape => round, name => apple, 3 => 4 ); 1 Chi ha una anche leggera infarinatura del C sa che invece lì le variabili devono essere tutte definite a monte del programma, in modo analogo a quanto avveniva con il Pascal. Nel C++ invece le variabili sono strettamente tipate, ma possono essere dichiarate ovunque nel codice. 5

Entrambi questi array costruiscono la medesima struttura, ma sono scritti in maniera differente. Se provassimo ad esempio a richiamare una funzione del genere: echo $a[name]; Quale sarebbe il risultato? A video comparirebbe: apple Ora vediamo un array multidimensionale più complesso: $a = array( apple => array( color => red, taste => sweet, shape => round ), orange => array( color => orange, taste => sweet, shape => round ), banana => array( color => yellow, taste => paste y, shape => banana shaped ) ); In questo caso si è creato un array multidimensionale più complesso. Per identificare un valore dell array si devono richiamare 2 dimesioni... cosi: echo $a[ apple ][ taste ]; E come output si avrebbe: sweet 6