Copertina
Autore Mark Wandschneider
Titolo Sviluppare applicazioni web con PHP e MySQL
EdizioneApogeo, Milano, 2006 , pag. 746, CD, cop.fle., dim. 17x24x3,4 cm , Isbn 978-88-503-2541-2
OriginaleCore Web Application Development with PHP and MYSQL [2006]
TraduttoreRoberto Ricca
LettoreCorrado Leonardo, 2007
Classe informatica: linguaggi , informatica: reti
PrimaPagina


al sito dell'editore


per l'acquisto su IBS.IT

per l'acquisto su BOL.IT

per l'acquisto su AMAZON.IT

 

| << |  <  |  >  | >> |

Indice

Introduzione                                           xix

Parte I     Fondamenti di PHP


Capitolo 1  Iniziare a utilizzare PHP                    3

I primi programmi PHP                                    3
Creazione di script PHP                                  6
    Delimitare sezioni del codice PHP                    6
    Associare PHP e HTML                                 7
    Istruzioni e commenti                                8
Come memorizzare i dati                                  9
Utilizzo dei tipi fondamentali di variabili in PHP      10
    Numeri                                              10
    Stringhe                                            12
    Booleani                                            15
Alcune funzioni molto utili                             15
    nl2br                                               15
    var_dump                                            16
    print_r                                             16
    var_export                                          17
Riepilogo                                               17

Capitolo 2  Il linguaggio PHP                           19

Altre informazioni sull'utilizzo delle stringhe         19
Altre informazioni sui tipi di dati                     21
    Array                                               21
    Oggetti                                             22
    Tipi e valori speciali                              23
Conversioni tra tipi di dati                            23
    I fondamenti                                        24
    Conversioni di tipo specifiche                      25
    Funzioni utili per la conversione di tipo           28
Variabili e costanti                                    29
    Definire le costanti                                29
    Variabili per valore e per riferimento              30
    Ambito della variabile                              31
    Ciclo di vita delle variabili                       32
    Variabili predefinite                               32
Espressioni e operatori                                 33
    Operatori: combinare le espressioni                 33
    Combinare le espressioni e la precedenza
    degli operatori                                     39
Strutture di controllo                                  41
    Istruzioni if                                       41
    Istruzione switch                                   41
    Cicli while/do...while                              43
    Cicli for                                           44
    Cicli foreach                                       44
    Interrompere i cicli                                44
Riepilogo                                               46

Capitolo 3  Organizzazione e riutilizzo del codice      47

Riutilizzo fondamentale del codice: funzioni            47
    Definire e chiamare le funzioni                     48
    Passare i parametri alle funzioni                   50
    Restituire i valori da una funzione                 54
    Ambito delle variabili all'interno delle funzioni   55
    Ambito e disponibilità delle funzioni               58
    Funzioni come variabili                             60
Riutilizzo del codice: creazione e utilizzo di file     61
    Organizzare il codice in file                       61
    Scegliere i nomi dei file e le posizioni            63
    Includere i file della libreria nello script        64
    Utilizzare l'inclusione per la creazione
    di modelli di pagine                                69
Riepilogo                                               71

Capitolo 4  Programmazione orientata agli oggetti       73

Oltre le librerie                                       73
Programmazione orientata agli oggetti                   76
    Terminologia fondamentale                           76
    Fondamenti degli oggetti in PHP                     77
    Inizializzare ed eliminare gli oggetti              81
    Visibilità: controllare chi vede che cosa           83
    Aggiungere dati statici alle classi                 85
Estendere gli oggetti                                   89
    Estendere le classi esistenti                       89
    Visibilità rivisitata                               90
    Reimplementare i metodi della classe genitore       90
    Uniformare il comportamento delle classi:
    il polimorfismo                                     92
Altre funzionalità                                      99
    Confrontare gli oggetti                             99
    Clonare gli oggetti                                 99
    Output user-friendly                               100
    Type hinting                                       101
    Autocaricamento                                    102
Riepilogo                                              102

Capitolo 5  Operare con gli array                      103

[...]

Capitolo 6  Stringhe e caratteri usati nel mondo       121

[...]

Capitolo 7  Interazione con il server: i form          139

[...]


Parte II    Fondamenti dei database


Capitolo 8  Introduzione ai database                   159

[...]

Capitolo 9  Progettazione e creazione dei database     169

[...]

Capitolo 10  Utilizzo dei database:
             memorizzare e recuperare i dati           195

[...]

Capitolo 11  Utilizzo dei database:
             accesso avanzato ai dati                  209

[...]

Capitolo 12  PHP e accesso ai dati                     225

[...]


Parte III    Pianificazione delle applicazioni web


Capitolo 13  Applicazioni web e Internet               247

[...]

Capitolo 14  Implementazione dell'interfaccia utente   267

[...]

Capitolo 15  Gestione degli utenti                     285

[...]

Capitolo 16  Rendere sicure le applicazioni web:
             pianificare e codificare la sicurezza     293

[...]

Capitolo 17  Rendere sicure le applicazioni web:
             la sicurezza del software e dell'hardware 311

[...]


Parte IV     Implementazione delle applicazioni web


Capitolo 18  Gestione degli errori e debugging         327

[...]

Capitolo 19  Cookie e sessioni                         349

[...]

Capitolo 20  Autenticazione degli utenti               375

[...]

Capitolo 21  Output avanzato e buffering dell'output   407

[...]

Capitolo 22  Convalida dei dati con le espressioni
             regolari                                  425

[...]

Capitolo 23  XML e XHTML                               441

[...]

Capitolo 24  File e directory                          469

[...]

Capitolo 25  Upload dei file                           485

[...]

Capitolo 26  Lavorare con date e ore                   503

[...]

Capitolo 27  Servizi web XML e SOAP                    521

[...]

Capitolo 28  PEAR                                      545

[...]

Capitolo 29  Sviluppo e distribuzione                  557

[...]


Parte V      Progetti d'esempio e altre idee


Capitolo 30  Strategie per applicazioni web
             di successo                               581

[...]

Capitolo 31  Un gestore degli appuntamenti             603

[...]

Capitolo 32  Un motore di blogging                     631

[...]

Capitolo 33  Un'applicazione di commercio elettronico  663

[...]


Parte VI     Appendici


Appendice A  Installazione e configurazione            701

[...]

Appendice B  Sintassi SQL equivalente                  725

[...]

Appendice C Letture consigliate                        731


Indice analitico                                       733


 

 

| << |  <  |  >  | >> |

Pagina xix

Introduzione


Questo è il libro che mi sarebbe piaciuto avere in mano un paio di anni fa quando decisi di ampliare la mia conoscenza sullo sviluppo delle applicazioni web. Il passaggio dallo sviluppo di applicazioni GUI basate su un sistema di finestre di programmazione standard all'elaborazione di applicazioni web dinamiche è stato davvero complicato. Linguaggi molto produttivi, come PHP, hanno semplificato la transizione, ma il processo di apprendimento rimane arduo.

Tenendo presente questo fatto, ho deciso di scrivere questo manuale per spiegare l'utilizzo delle diverse tecnologie riguardanti lo sviluppo delle applicazioni web. Esplorando le funzionalità di PHP e lo sviluppo dei database ho commesso ogni sorta di errore, e in questo libro ho cercato di inserire ciò che ho imparato. Troppi testi pubblicati sono poco più che una semplice ristampa della documentazione esistente o dei manuali in linea di Unix: volevo realizzare un prodotto diverso.

Le tecnologie, tuttavia, sono solo metà dell'opera. Senza strategie o approcci sistematici alla progettazione e all'implementazione, le applicazioni avranno, nel migliore dei casi, una vita dispendiosa e confusa, e nel peggiore non lasceranno traccia. Questo libro si concentrerà su molti argomenti che potrebbero non essere trattati in dettaglio in altri testi: progettazione, collaudo e sicurezza.


A chi è rivolto questo libro

Il libro è indirizzato a chi intende utilizzare o realizzare un'applicazione web, per esempio uno sviluppatore aziendale che deve creare un'applicazione intranet per la propria azienda o un'applicazione web in Internet per i clienti, un consulente che aiuta una piccola impresa a sviluppare un'attività commerciale sul Web o un semplice appassionato che vuole approfondire la conoscenza delle applicazioni web e progettarne una personale.

Si presuppone che i lettori abbiano un minimo di familiarità con la programmazione, anche se il libro non richiede competenze da esperti. La padronanza dei costrutti fondamentali della programmazione (come le variabili e le funzioni) e dei rudimenti dell'HTML dovrebbe essere più che sufficiente.

Quando iniziai a studiare la programmazione delle applicazioni web, non sapevo quasi nulla riguardo allo sviluppo dei database e quindi non pretendo questo tipo di conoscenza dai lettori. Il libro li esamina a fondo, dalla terminologia e dalla progettazione basilare alle query semplici e complesse, con un giusto equilibrio tra istruzioni semplici e chiare ed esempi interessanti per facilitare lo sviluppo.


PHP

Il linguaggio PHP è nato nel 1994 come linguaggio di scripting chiamato PHP/FI (Personal Home Page/Forms Interpreter); fu sviluppato da un certo Rasmus Lerdorf come ausilio nella gestione dei documenti sul suo sito web. Nel corso degli anni PHP ha acquisito sempre maggiore importanza. Nel 1997 comparve una seconda versione del sistema che includeva funzionalità aggiuntive.

Alla fine del 1998 uscì PHP 3.0, frutto della conseguente e consistente riscrittura del codice e della partecipazione di due nuovi sviluppatori: Zeev Suraski e Andi Gutmans. L'obiettivo era supportare applicazioni sempre più ampie e complesse nel Web. All'inizio del 2000 uscì la versione 4.0; basata su un nuovo motore del linguaggio chiamato Zend Engine, vantava prestazioni nettamente migliori e una maggiore modularità del codice. Sul finire del 2004 uscì la versione 5.0, più evoluta. Comprendeva molte nuove funzionalità, come nuovi costrutti linguistici, un supporto maggiore ai server web, supporto delle sessioni e ulteriori estensioni di terze parti. Tra le nuove funzioni del linguaggio vi era un modello di programmazione orientato agli oggetti migliore e ampliato, utilizzato diffusamente in questo libro. Lungo il cammino, PHP smise di significare Personal Home Page per diventare PHP Hypertext Preprocessor, un acronimo "ricorsivo" (l'acronimo costituisce una parte del termine che definisce).

PHP è un linguaggio molto produttivo: in breve tempo si possono produrre grandi segmenti di codice; fu proprio questa produttività ad attrarmi alcuni anni fa. Con PHP riuscii a creare, con un codice relativamente ridotto, relazioni dinamiche e organizzate sui viaggi che ho compiuto in vari Paesi.

L'unica "pecca" è il fatto che il linguaggio può risultare cavilloso se confrontato con altri linguaggi di programmazione, soprattutto se, come nel mio caso, in precedenza si sono utilizzati linguaggi più simili a C/C++, Java o Visual BASIC. In realtà molti temi sviluppati in questo libro sono il risultato delle mie lunghe meditazioni ed elucubrazioni. Ma dopo aver acquisito una certa familiarità, PHP si dimostra divertente da scrivere e molto efficace.


Contenuto

Il libro è diviso in sei parti che rappresentano la progressione logica dell'elaborazione delle applicazioni web.

La Parte I, "Fondamenti di PHP", esamina PHP partendo dalla descrizione e dall'esame dei principali tipi di linguaggi. Questa parte affronta le funzioni, la struttura del codice e la programmazione orientata agli oggetti per concludere un'analisi degli array e delle stringhe.

La Parte II, "Fondamenti dei database", presenta i database, iniziando dalla terminologia per passare alla progettazione e alla definizione delle strutture di dati. Termina con la descrizione dell'utilizzo dei database e delle tabelle, spaziando dalle query più elementari alle transazioni e alle funzioni.

La Parte III, "Pianificazione delle applicazioni web", fa un passo indietro rispetto alla codifica per esaminare la progettazione delle applicazioni web. Molte persone sono così concentrate a scrivere il codice che non si soffermano su questo aspetto. Questi capitoli forniscono (finalmente) uno spunto su cui riflettere quando si inizia la programmazione. Inoltre questa parte esamina a fondo la questione del controllo dell'accesso alle applicazioni, aspetto di grande importanza e attualità.

La Parte IV, "Implementazione delle applicazioni web", analizza le funzionalità e i concetti più avanzati del linguaggio, necessari per passare dal semplice PHP e dai database alla realizzazione delle applicazioni web, affrontando argomenti come la gestione degli errori, le sessioni e l'utilizzo di XML proponendo anche molto codice d'esempio.

La Parte V, "Progetti d'esempio e altre idee", presenta tre esempi completi di applicazioni web: si inizia da un semplice sistema di gestione degli appuntamenti per poi passare allo sviluppo di un sistema di registrazione di un blog (web blog) e concludere con un esempio di applicazione per gestire il commercio elettronico. Gli esempi riportati illustrano gli argomenti trattati e sono propedeutici alla scrittura di un codice robusto. Invece di scrivere pagine su pagine ed elencare tutto il codice relativo, è possibile copiare dal CD il codice di queste applicazioni ed eseguirlo. I capitoli del libro illustrano solo le sezioni più rilevanti del codice lasciando al lettore il download e l'esecuzione completa.

La Parte VI, "Appendici", esamina l'installazione del software necessario per eseguire le applicazioni web e una guida sintetica dei principali comandi SQL nelle diverse implementazioni e consiglia altro materiale da consultare.


Prima di iniziare

Prima di immergersi completamente nella lettura del libro, è consigliabile aprire il CD allegato per copiare il codice sorgente sul computer. La cartella booksrc contiene i file sviluppati durante la scrittura del volume.

Oltre a tutto il codice sorgente (e alle istruzioni per l'installazione) relativo ai tre grandi esempi della Parte V, vi sono anche piccoli frammenti di codice attinenti a numerosi capitoli del libro. È possibile eseguirli, effettuare il debugging o modificarli e manipolarli per comprendere meglio il funzionamento del linguaggio.

Oltre alle sorgenti d'esempio, il CD contiene i file di installazione delle versioni di PHP, Apache HTTP Server e MySQL (cartella software) che è possibile utilizzare per installare il software sul computer. Ulteriori istruzioni sono presenti nel CD.

| << |  <  |