|
|
| << | < | > | >> |IndiceIntroduzione 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 xixIntroduzioneQuesto è 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.
|