' Rapid-Q by William Yu (c)1999-2000 . ' ================================================================================ ' Upload_il_tuo_script_su_Rapidq.it ' Manuale_Intermedio_PHP Introduzione al linguaggio [http://freephp.html.it/img/grigio.gif] In questa guida non vogliamo certo ripercorrere quanto è stato detto nel tutorial di Alberto Mucignat, ma vogliamo solamente iniziare un approccio più teorico e meno pratico al linguaggio. Visto l'affermarsi, a partire dalla versione 3, del PHP è importante per chiunque voglia considerarsi un programmatore web conoscerne più delle basi, in modo da saper creare applicazioni per determinati scopi e dando sfogo alla propria fantasia. Origini e tipologia di linguaggio [http://freephp.html.it/img/grigio.gif] PHP è l'acronimo di "PHP: Hypertext Preprocessor", ossia un "preprocessore dell'ipertesto" che si basa su una sintassi simile al C, al Java ed al Perl, ovviamente con alcune aggiunte specifiche. Nasce nel 1994 come progetto "personale" e la prima versione pubblicamente utilizzabile risale al 1995 con il nome di "Personal Home Page". Il resto, è storia: come ogni buon progetto che attira l'attenzione di utilizzatori e sviluppatori, il linguaggio si sviluppa come progetto open-source tanto che, nel 1996, già circa 15.000 siti web lo utilizzano; al momento della release 3 (metà del 1999) il numero di server che utilizzano PHP si è decuplicato. Il PHP è un linguaggio di scripting server-side; si tratta di un linguaggio "embeeded" nelle pagine che lo contengono come, per citare un esempio, il linguaggio Javascript; la fondamentale differenza è che il PHP viene eseguito dal server anzichè direttamente dal client: quindi non servono particolari compatibilità o standard definiti da terze parti (come l'esempio più classico del Javascript). Il meccanismo di esecuzione degli script, per chi li conosca, è simile al linguaggio_ASP. Ad esempio, se in una pagina fosse presente il codice: se voi richiamaste la pagina dal browser, non vedreste la linea di codice compresa fra (i tag propri del PHP), bensì il risultato che tale comando produce: in pratica, il server HTTP, una volta che gli viene richiesta una pagina del genere, la riconosce (poichè opportunamente configurato) e ne esegue la parte "dinamica"; quello che arriva al vostro browser è l'elaborato di tale codice e voi potrete capire che si tratta di una pagina scritta in linguaggio PHP solo per la sua estensione (tipicamente .php3). Le potenzialità del linguaggio PHP sono molto buone, tanto che è possibile creare in PHP tutte le applicazioni che si potrebbero creare con degli script CGI: la differenza principale fra PHP e CGI è che il primo rende molto più semplice la connessione e l'interrogazione con i database; il PHP3 supporta questi database: 1. Adabas D 2. InterBase 3. Solid 4. dBase 5. mSQL 6. Sybase 7. Empress 8. MySQL 9. Velocis 10. FilePro 11. Oracle 12. Unix dbm 13. Informix 14. PostgreSQL Come i CGI, poi, con il PHP è possibile utilizzare i più noti protocolli di rete come IMAP, SMTP, POP3 e persino HTTP oppure utilizzare i socket. CGI e PHP: fondamentali differenze [http://freephp.html.it/img/grigio.gif] E' noto che gli script CGI scritti in Perl e gli script PHP sono i più utilizzati per la generazione di pagine dinamiche, lasciando per un attimo da parte il linguaggio_ASP che, ricordiamo, è proprietario e può essere utilizzato (quasi) solamente su webserver_NT_con IIS. Il PHP, specialmente in questi ultimi periodi, si sta affermando come linguaggio principe di scripting per la generazione di pagine dinamiche; in primo luogo perchè è multipiattaforma, ossia è possibile trovare il motore PHP per le più diffuse piattaforme. Ma il PHP, lentamente ma inesorabilmente, sta superando in complessità i CGI; questo si può giustificare in parecchi modi: * PHP è un linguaggio embeeded nel codice HTML delle pagine, e non necessita quindi di ulteriori file esterni per essere eseguito; * uno script PHP, di fatto, non ha bisogno di installazione come avviene per uno script CGI: chi abbia qualche volta letto qualche recensione presente su www.cgipoint.it, avrà sicuramente visto come ogni script debba essere caricato sul server in determinate directory con determinati permessi e via dicendo. Con il PHP questo non succede più: oltre a non aver più bisogno di una directory cgi-bin, essendo il codice inserito direttamente nelle pagine, una volta che la pagina sia caricata di fatto lo script può dirsi pronto per l'uso, a patto che sia stato correttamente configurato; * con il PHP non si ha più bisogno di particolari configurazioni del webserver in modo da abilitare directory cgi-bin oppure abilitare l'esecuzione di determinati file con determinate estensioni. Una volta istruito il webserver, ogni script (o meglio, pagina con all'interno il codice dello script) potrà essere eseguito in OGNI directory esso si trovi. Immaginate la comodità di questa caratteristica del PHP. Ovviamente, queste sono solamente alcune delle caratteristiche che permettono al PHP di superare i CGI, e possono peraltro essere soggette a critiche dai fanatici dell' "altra fazione". Ovviamente, anche i CGI hanno i loro lati positivi, e la scelta fra l'uno o l'altro linguaggio (oppure entrambi, a volte!) cade sulla scelta personale del programatore. A livello di "cosa sia possibile fare con PHP" si può dire che, a partire dalla versione 4, le potenzialità del PHP sono praticamente identiche a quelle dei CGI in Perl, ma non del Perl stesso, comunque. Creazione delle pagine e sintassi di base [http://freephp.html.it/img/grigio.gif] Come visto nel brevissimo esempio riportato sopra e come probabilmente molti avranno letto nel resto del corso precedentemente pubblicato, la sintassi del PHP va inserita fra i tags: Ma è possibile inserire il codice in altri modi: /* short tags*/ /* default insieme a */ <% %> /* ASP-like tags */ Ad esempio, è equivalente scrivere: <% echo ("Io sono uno script PHP"); %> sebbene per gli esempi che qui riporteremo verrà utilizzata la sintassi Ricordiamo che i tag riconosciuti di default sono e