• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
1
a
lezione
C
itando testualmente laprefazione del manuale uf-ficiale di PHP.net: “L'obiet-tivo principale del linguaggioPHP è di permettere agli svi-luppatori Web di scrivere velo-cemente pagine Web dinami-che, ma con PHP si possono fa-remolte altre cose
” 
.È in questo spirito che
 PC Open
introduce nelle sue pagi-ne questo minicorso di PHP,potente linguaggio di scriptingopen source, pienamente inte-grabile con HTML (da cui lapropedeuticità del corso Web-master, fornito sul
CD Guida n.
unito a questo numero, utileanche se non necessaria) e in-dirizzato prevalentemente allosviluppo dei siti Internet dina-mici. PHP viene utilizzato an-che per creare scripting di ri-ghe comando e applicazioniclient-side
GUI
(Graphical UserInterface) utilizzando le esten-sioni PHP-GTK. Tralasciandoqueste due applicazioni spe-cialistiche, vedremo come PHPoffra strumenti professionalimolto evoluti per la gestioneWeb, pur mantenendo unastruttura semplice, adatta an-che a chi si avvicina per la pri-ma volta a linguaggi di pro-grammazione di questo tipo.Alla fine di questo minicorsoavremo gli strumenti di baseper migliorare i nostri siti e peraffrontare una delle più impor-tanti funzionalità di PHP, ossial'integrazione con i database ein particolare con MySQL.
La storiadel linguaggio PHP
PHP è un acronimo ricorsivo(tipico dell'ambiente opensource) che significa
 PHP: Hy-  pertext Preprocessor 
. Che cosasia un ipertesto è chiaro, men-tre può lasciare perplessi il si-gnificato di Preprocessor: PHP,come
ASP
, è un linguaggio
ser-ver-side
, ossia il codice PHP èprima elaborato dal server esolo dopo indirizzato al brow-ser che ha chiamato la pagina.In tal senso PHP elabora la pa-gina “prima” della sua visualiz-zazione.È una caratteristica total-mente diversa rispetto a lin-guaggi come Javascript che in-vece sono
client-side
, ossia in-teramente interpretati daibrowser. Vedremo in seguitocome questa caratteristica ser-ver-side consenta l'implemen-tazione di strutture e funziona-lità assolutamente inedite perchi è abituato a ragionare intermini di HTML puro.PHP consente, inoltre, dicreare immagini, file PDF, fil-mati Flash, generare file basatisu XML, utilizzare i protocollidi posta POP3 e IMAP (ne ve-dremo un'applicazione nellaseconda parte del corso), com-primere file in gzip e bz2, gesti-resessioni, utilizzare funzioni eclassi, fare uso della program-mazione orientata agli oggetti enaturalmente interagire contutti i database più diffusi. Peralcune di queste funzioni biso-gna installare estensioni forni-te con il file binario di PHP equindi si dovrà verificare pres-so il proprio Web provider l'in-stallazione delle specifiche li-brerie (ad esempio quelle gra-fiche).PHP ha ormai quasi 10 annidi storia alle spalle (è statocreato nel 1994 da Rasmus Ler-dorf e la prima distribuzione ri-sale al 1995; sito di riferimento:www.php.net ), sposa appienola filosofia open source ed è di-stribuito con licenza GPL. È un
linguaggio multipiattaforma 
,utilizzabile indifferentementesu macchine client con sistemioperativi Windows, Linux, BSDo Mac e interfacciabile con tut-ti i più popolari Web server.
Utilizzare PHP off linee scrivere i primi listati
I listati in PHP possono esse-recreati utilizzando un qualsia-si editor di testo e salvando lepagine con estensione
.php
.Proviamo a scrivere il nostroprimo semplice listato (la partePHP è in grassetto. Più avantine approfondiremo il significa-to), salviamolo col nome
 ph-  pinfo.php
listato1
 ) e poi visua-lizziamolo col nostro browser:
LISTATO1 (phpinfo.php)
<html><head><title>Prova PHP</title></head><body>
<?phpphpinfo();?>
</body></html>
Lezione 1:
-
La scelta di PHP- PHP con un server off line- La prima pagina PHP:
inseriamo PHP in HTML
- Funzioni base e variabili- I costrutti di controllo:
if else, while, do until,foreach
- I form:
passaggio di dati coi metodiGET e POST
- Esempi
Le prossime puntate
Lezione 2:
ApprofondiamoPHP
Lezione 3:
PHP e i database
Lezione 4:
PHP e MySql
Lezione 5:
Gestire un sitodinamico con PHP e MySql
ILCALENDARIODELLELEZION
di Federico Pozzato
A scuola con PCOpen
e
eveloper PHP 
1
La scelta di PHP
La pagina phpinfo.php 
è la prima pagina di questo corso realizzata in PHP 
1
Ilistaticompletisono sul CD
 
1
a
lezione
Sul vostro browser vedrete ouna pagina totalmente vuotaoppure il listato esattamentecome è scritto qui sopra. Cos'èsuccesso? Abbiamo affermatoche PHP è un linguaggio ser-ver-side, quindi per visualizza-rele pagine create abbiamo bi-sogno di tre strumenti: un ser-ver Web, il supporto PHP (il
parser 
, gli elementi di una fraseo di un’istruzione) attivato daparte del server scelto e unbrowser.Nel nostro esempio ci siamoserviti solamente del browserche, da solo, non è in grado diinterpretare la pagina PHP e lafa vedere come fosse un nor-male documento HTML (quin-di, in questo caso, apparente-mente vuoto) oppure come unfile testo. Nel primo caso la pa-gina sembra vuota, ma se an-diamo a vedere il codice sor-gente (ogni browser consentedi farlo selezionando l'appositavoce presente nei menu) ve-dremo il
listato 1
. Per vedere in-vece la pagina PHP interpretatanella maniera esatta, avremmodovuto per prima cosa caricarela pagina
 phpinfo.php
su un ser-ver Web (abilitato per la tradu-zione delle pagine PHP) e poirichiamare la pagina col brow-ser (vedi
disegno a fondo pagi- na
 ). Avremmo ottenuto quantovisibile
nell'immagine 1
: la no-stra prima pagina ci restituiscetutte le caratteristiche dellaversione PHP installata sul ser-ver Web.Per la maggior parte dellepersone è certamente impro-ponibile pensare di poter im-parare a programmare in PHPrestando connessi a Internet,vuoi a causa dei costi, vuoi perla scomodità di dover ogni vol-ta caricare le proprie paginevia FTP (o con upload dedicati)per poi richiamarle tramitebrowser (vedi
disegno A
 ).Risulta quindi necessario in-stallare un server sul proprioPC, col supporto alle paginePHP per le operazioni di par-sing. L'installazione di un ser-ver sul proprio PC è già statadescritta nella 7alezione delcorso Webmaster e la si dà peracquisita (l'installazione delserver Web va fatta prima diPHP). Vediamo adesso comeinstallare il parser, con indica-zioni riguardanti tre server:Apache, Xitami e IIS di Micro-soft.La prima regola fondamen-tale è scaricare l'ultima releasestabile di PHP per il proprio si-stema direttamente dal sito uf-ficiale:www.php.net.Al momento in cui scrivia-mo, la release stabile è una4.3.x, in attesa del sospirato ri-lascio della release 5. Trala-sciamo l'installazione di PHPsu Linux, in quanto è un'opera-zione generalmente eseguita inautomatico scegliendo gli op-portuni pacchetti della propriadistribuzione, e dedichiamociall'ambiente Windows. Nell'a-rea download diwww.php.netsi trovano due file utilizzabilicon sistemi Windows:• un file installer (come:
 php- 4.3.7-installer.exe
 ). Questo fileha dimensioni minime (circa1 MB), è direttamente esegui-bile nel sistema e configuraautomaticamente i server IISe Xitami, consentendo l'in-stallazione come versioneCGI per il server Apache. L'in-staller non comprende leestensioni di PHP.• un file zippato contenente ilcodice binario (come:
 php- 4.3.7-Win32.zip
 ). Questo fileha dimensioni ben più consi-stenti (circa 7 MB), ma con-sente l'installazione (manua-le) di tutti i moduli.
Il server Apache
Come ASP richiamava il ser-ver IIS, così PHP richiama ilserver Apache. Tuttavia, nonesiste al momento una proce-dura automatica per configura-reil server Apache, sia esso1.3.x o 2.0.x (supporto piena-mente abilitato solo con unaversione di PHP oltre la 4.3.1).Si può procedere in due mo-di, configurando PHP in versio-ne CGI (installazione più sem-plice) o come modulo (installa-zione consigliata per motivi disicurezza).Nel primo caso utilizziamo ilfile
Installer 
. Eseguiamolo (ri-cordandoci la cartella dovePHP verrà installato:
C:\PHP 
vabenissimo, ma potete cambiar-la a piacere) e arriviamo al ter-mine dell'installazione (anchescegliendo l'opzione di confi-gurazione automatica di Apa-che, il software vi risponderàche questa procedura non èancora applicabile). Ora dove-te editare il file
httpd.conf 
delserver Apache ( 
 Start > Pro-  grammi > Apache > Configure > Edit the httpd.conf configurationfile
 ) e, dopo esservi posiziona-ti nella sezione
 ScriptAlias
, ag-giungete le seguenti righe:
ScriptAlias /php/ "c:/php/"AddType application/x-httpd-php .phpAction application/x-httpd-php"/php/php.exe"
sostituendo a
c:\php
la car-tella di installazione. PHP vieneinstallato nella versione CGI:fate ripartire il server Apache epoi verificate se la pagina
 ph-  pinfo.php
viene visualizzatanella maniera corretta.Questo tipo di installazioneè giudicato non sicuro e menoperformante dell'installazionedi PHP come modulo, però dalmomento che ce ne serviamosolo per scopi didattici (esclu-sivamente off line) va comun-que bene per i nostri scopi.Non è possibile, però, installa-realcuna estensione.Il secondo metodo richiedeil file zip binario. Per prima co-sa si deve scompattare il file inuna cartella tipo
c:\php,
quindicopiare il file
php.ini-dist 
nella
%SYSTEMROOT%
(per Win-dows 2000 è
C:\WINNT 
 ) modifi-candone il nome in
 php.ini
. Al-tra operazione da compiere ècopiare il file
 php4ts.dll 
nellacartella
c:\php\sapi
. Ultimisforzi: editare il file
httpd.conf 
del server Apache ( 
 Start > Pro-  grammi > Apache > Configure > Edit the httpd.conf configurationfile
 ) e, dopo essersi posiziona-ti nella sezione
 LoadModule
, ag-giungere le seguenti righe (perApache 2.0.x):
LoadModule php4_modulec:/php/sapi/php4apache2.dll [ophp4apache.dll per Apache 1.3.x]AddType application/x-httpd-php .php
Facciamo le necessarie veri-fiche, dopodiché siamo prontiper iniziare.
IIS, PWS e Xitami
Con IIS, PWS e Xitami la vita èpiù semplice rispetto ad Apa-che, sempre che ci si acconten-ti dell'installazione minima (ge-neralmente sufficiente per i no-stri scopi).In questo caso si deve soloeseguire l'installer PHP: duran-te la procedura di installazioneci verrà chiesto se è presenteun server da configurare conPHP. Scegliete IIS o Xitami e at-tendete la conclusione dell'in-stall shield: da adesso saremoin grado di verificare off line lenostre pagine PHP. Per verifica-reil funzionamento, fate partireil server, provate a inserire nel-la cartella scelta come root deidocumenti il file
 phpinfo.php
erichiamatelo col browser: do-vete ottenere l'
immagine 1
dellapagina a lato.L'installazione delle esten-sioni implica l'utilizzo del filezip binario e qualche passo“manuale” aggiuntivo. Non latrattiamo in questa sede, ma ècomunque presente il file
in- stall.txt 
che vi assiste passo pas-so.
Estensioni
Per utilizzare le estensionisi deve effettuare l'installazionedel parser PHP tramite il file zipbinario. Andrà poi modificato ilfile
php.ini
(dalla
%SYSTEM-  ROOT%
 ) inserendo l'indicazio-ne
C:\php\extensions
dopo l'u-guale nella riga che inizia con
extension_dir =
. Fatto questo,sempre nel file
 php.ini
, cercarela sezione
Windows extensions
e togliere il punto e virgola da-vanti alle estensioni da abilita-re(ad esempio, per utilizzare lefunzioni PDF bisogna abilitarel'estensione
php_pdf.dll 
 ).
BROWSERUTENTE
INTERNET
ServerWEB
PAGINASORGENTEPHP
ParserPHP
1
Caricamento paginasul server (via FTP)
2
Richiesta paginada parte del browser
3
Il server, ricevuta la richiesta, chiedeal parser di interpretare la pagina sorgente
4
Il parserPHPrestituisceal serverla paginainterpretata
5
Il serverrestituisce albrowser la paginainterpretata dalparser (NONvienerestituita la paginasorgente in PHP)
Schema per lavisualizzazionedi pagine PHP
 
1
a
lezione
3
Tipi di dato, variabili e operatori
L
a prima pagina PHP, inrealtà, l'abbiamo già realiz-zata (la solita
 phpinfo.php
 )e la possiamo quindi analizza-re. La parte iniziale e la parte fi-nale comprendono solo tag econtenuti HTML, mentre la “se-zione” PHP, quella interpretatadal parser tramite il server e re-stituita poi al client browser,viene chiaramente identificatadai tag
<?php
(inizio sezionePHP) e
?>
(fine sezione PHP).Questi tag possono essereaperti e chiusi quante volte sivuole in un listato HTML: ai finidell'efficienza nell'elaborazio-ne della pagina, infatti, è megliouscire dalla modalità PHP se sidevono passare blocchi di con-tenuti HTML “puri” (vale spe-cialmente per pagine compli-cate).Tutto quello che si trovacompreso tra i tag PHP vienequindi interpretato dal server erestituito al browser per la vi-sualizzazione: la funzione
 ph-  pinfo()
, infatti, restituisce tuttele caratteristiche settate per ilparser PHP installato nel ser-ver. Può essere curioso esami-nare il sorgente di questa pagi-na: sono tutti contenuti HTMLe della funzione
 phpinfo()
, giu-stamente, non c'è alcuna trac-cia.Notate il “
 ;
” al termine dellariga compresa nei tag: tutte leistruzioni PHP terminano conquesto segnale di fine riga. Iltag di chiusura
?>
fa anche da
 ;
” e quindi per l'ultima istru-zione prima della chiusura sipotrebbe anche eliminare il “
 ;
”,però è certamente meglio nonprendere certe abitudini e usa-re tutta la sintassi normalmen-te richiesta.Un secondo esempio,
hel- lo.php
, ci consente di introdur-rela funzione
echo
che ha loscopo di restituire un output
listato 2 - hello.php
 ):
LISTATO2(hello.php)
<?phpecho “ciao PC OPEN”;?>
La funzione
 print()
produceesattamente lo stesso output.È possibile anche introdurredei tag HTML all'interno dellasezione PHP come si può vede-re da
hello-html.php
listato 3 
 ).Andranno inseriti all'interno di
echo
in quanto questi tagHTML devono diventare unoutput del parser:
LISTATO3
<?phpecho “<h1>Ciao PC OPEN</h1>”;?>
Per indicare inizio e finedella sezione PHP
Ci sono altri sistemi per in-dicare l'inizio e la fine della se-zione PHP:
tag brevi
(short tag):basta indicare
<? 
e
?>
. Perusarli deve essere apposita-mente configurato il parserPHP del server Web ospitante.Generalmente è così, ma l'usodi questi short tag è comunquesconsigliato per motivi di sicu-rezza: se, per qualunque moti-vo (manutenzione, aggiorna-mento, e così via), il parser noninterpretasse più in manieracorretta gli short tag, il vostrocodice diverrebbe visibile atutti (come nell'esempio vistoall'inizio).
indicazione di script:
<script language="php">
e
</script>
. Non è sempre inter-pretato correttamente quindievitiamolo.
ASP tag
: i tag sono gli stes-si usati per ASP:
<%
e
%>
. An-che in questo caso deve essereattivata un'apposita opzionedel parser ( 
asp_tags = On
 ), congli stessi problemi di sicurezzagià indicati per gli short tag.In
tag.php
trovate riuniti in-sieme questi ultimi tre modi diindicare il codice PHP (vedi
li- stato 4
 ).Per buona regola, è semprebene utilizzare
<?php
e cercaredi essere il più ordinati possi-bile, nell'eventualità di doverfare delle modifiche a distanzadi tempo.Per inserire dei commenti sipremettono al commento ledoppie slash
 // 
.
2
La prima pagina in PHP
Curiosità
In un'ottica di filosofia opensource si sente nominarel'acronimo
LAMP
. Essoindica un gruppodi prodotti divenuti, nel loroinsieme, un riferimentoper lo sviluppo di siti Web:
L
inux
A
pache
M
ySQL
P
HP
P
er iniziare realmente a usa-rePHP e scoprirne le ca-ratteristiche, abbiamo bi-sogno di spendere ancora qual-che minuto per introdurre lagestione delle variabili.Diversamente da ASP, conPHP non serve dichiarare espli-citamente le variabili indican-do nome e tipo, ma, più sem-plicemente, basta assegnare al-la variabile il suo valore: sarà ilparser ad attribuire alla varia-bile il giusto “tipo” (dichiara-zione implicita). Tutte le varia-bili vanno indicate col simbolo
$
davanti al nome scelto (il pri-mo digit dopo
$
non deve maiessere un numero).
Tipi di variabili scalari
Vediamo i quattro tipi di va-riabile scalare che abbiamo adisposizione:
$prova1
= 12;// $prova1 è un tipo di dato
intero(integer)
,
in questo esempio è un inte-roa base decimale, ma avrem-mo potuto fare una dichiara-zione con le notazioni esadeci-male o ottale. In caso di supe-ramento del limite massimoprevisto per un intero, PHP as-segna automaticamente alla va-riabile il tipo float.
$prova2
= 1,23;// $prova2 è un tipo di dato
a virgola mobile (float)
.
$prova3
= TRUE;// $prova3 è un tipo di dato
booleano (boolean)
,
ossia assume solo valori ve-ro(true) o falso (false). Il nu-mero 0 o una stringa vuota cor-rispondono al valore booleno
false
; un numero diverso da 0 ouna stringa non vuota corri-spondono al valore booleano
true
.
$prova4
= “pippo”;// $prova4 è un tipo di dato
stringa (string)
.
La stringa può essere defini-ta utilizzando le virgolette sin-gole ' ( 
single quotes
 ) o le virgo-lette doppie “ ( 
double quotes
 ).Nel proseguimento del corso siuserà la seconda notazione chepermette, tra le altre cose, diinserire dei nomi di variabili al-l'interno della dichiarazione
$1prova
= 1;// il nome della variabile nonè valido (numero dopo $)
Ridichiarando le variabili, oconcatenandole, PHP scegliesempre automaticamente il ti-po di dato da gestire. Se voles-simo sapere, ad esempio permotivi di debug, quale sia il ti-po di dato di una certa variabi-le, si può usare la funzione
gettype
:
<?php$prova = 1,2;echo gettype ($prova);// si ottiene avideo il tipo di dato: float?>
Il tipo può essere impostomediante l'istruzione
settype
all'atto già della dichiarazione
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...