Introduzione a PHP

May 16, 2018 | Author: Anonymous | Category: Ingegneria, Informatica, Databases
Share Embed


Short Description

Download Introduzione a PHP...

Description

PHP: Hypertext Preprocessor Una introduzione alla programmazione lato server con PHP

a cura di Cesare D'Amico 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

View more...

Comments

Copyright © 2017 DOCUMEN Inc.