|
|
|
| << | < | > | >> |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 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.
|