Introduzione a PHP

annuncio pubblicitario
PHP: Hypertext Preprocessor
Una introduzione alla programmazione
lato server con PHP
a cura di Cesare D'Amico <[email protected]>
Pag. 1
Di che cosa parliamo?
Storia del PHP
Piattaforme supportate
Sintassi e facilità d'uso
Modelli di programmazione (procedurale ed OO)
Connessione ai database
Interfacce grafiche e semigrafiche
Pregi e difetti
Progetti promettenti
Libri e link
Pag. 2
Storia del PHP
Rasmus Lerdorf e «Pretty Home Page»
PHP/FI 2.0
PHP3 (1998)
PHP oggi: PHP4 e Zend (2000-2003)
Zend Engine (licenza BSD)
Optimizer (chiuso ma gratuito)
Prodotti Zend: Encoder, License Manager, Studio (commerciali)
PHP domani: PHP5 e Zend Engine 2 (2004?)
Pag. 3
Piattaforme supportate
Sistemi operativi:
Linux, *BSD, Solaris, HP/UX, Windows
Portato da terzi su:
MacOS X, Novell Netware, OS/2, RISC/OS, SGI IRIX 6.5
Server Web:
Nativamente su Apache, MS IIS/PWS, Caudium, fhttpd,
Netscape/iPlanet, OmniHTTPd, OReilly Website Pro, Sambar,
Xitami
Può funzionare su tutti i server che supportano il protocollo CGI
Pag. 4
SINTASSI
Sintassi simile al C
Facile da imparare ma potente:
Array sia associativi che indicizzati, variabili non strictly-typed
foreach(), list(), define(), die()
OOP: supporto limitato ma in evoluzione
Ereditarietà solo singola
Non supporta l'information hiding (comunque ottenibile)
Sessioni
Sicurezza in primo piano (array superglobal)
Pag. 5
INTEGRAZIONE CON I DATABASE
Connessione molto semplice
Moltissimi database supportati: Oracle, MS SQL
Server, IBM DB2, Sybase, MySQL, PostgreSQL, tutti
quelli che hanno un driver ODBC (anche su Linux/UNIX)
e molti altri
Connessioni persistenti
Pag. 6
ESTENSIONI
API pubblica: tutti possono programmare una propria
estensione
Sistema modulare: permette di aggiungere nuove
funzionalità senza intaccare il cuore del sistema
Molte estensioni: connessione ai database, sistemi per il
pagamento online, JAVA, email, immagini on-the-fly
PEAR: PHP Extension and Application Repository
Interfacce grafiche e semi-grafiche con PHP: PHP-GTK
e ncurses
Pag. 7
PUNTI DI FORZA...
Veloce
Affidabile
Completo
Interpretato
Integrato con apache
Nelle ultime versioni è più difficile creare codice
insicuro
Pag. 8
...E LIMITI DEL PHP
Mancanza di una interfaccia comune per la
connessione ai database
È facile creare codice "sporco" di HTML
Interpretato
Supporto alla programmazione OO non proprio
allo stato dell'arte (grossi miglioramenti con
PHP5)
Pag. 9
PROGETTI
Zend Engine 2: ereditarietà multipla, variabili private e
statiche (nelle classi), gestione delle eccezioni
SRM - gestore della persistenza
Smarty - template engine
ADODB - database layer (anche PEAR::DB)
Cache: APC (GPL), ionCube PHPAccelerator (licenza
non specificata, gratuito), AlberT-cache (GPL), Turck
MMCache for PHP (GPL), AfterBurner (LGPL)
Encoder: ionCube Encoder (commerciale)
Questi progetti vanno a colmare alcune lacune del php
in maniera elegante ed efficiente
Pag. 10
UTILIZZO NEL MONDO
Installato in quasi 14 milioni di domini e in più di 1,3 milioni di IP a
Settembre 2003.
È il modulo per Apache più installato in assoluto.
Fonte: Netcraft (http://www.netcraft.com/Survey)
Pag. 11
CHI USA PHP?
Yahoo! (insieme a PHPA: Rasmus Lerdorf lavora per
loro)
Lufthansa.com (6 mln di visitatori al giorno)
Indy500.com (2,5 mln accessi/giorno a Maggio 2002)
Freshmeat.net
fast (per il motore di ricerca alltheweb.com)
EasyDNS
Pag. 12
WEBOGRAFIA / BIBLIOGRAFIA
ziobudda.net, phpscript.it, programmazione.it, html.it
la famiglia di siti di php.net
zend.com, phpbuilder.com, php.weblogs.com,
hotscripts.com, php.faqts.com, codewalkers.com
Libri interessanti (dal più semplice al più avanzato):
PHP 4 Guida per lo sviluppatore (Hoepli)
Sviluppare applicazioni per database con MySQL/PHP (Apogeo)
PHP Soluzioni professionali per lo sviluppatore (Apogeo)
PHP 4.0 applicazioni Web (Addison Wesley)
Pag. 13
Scarica