9 Cursul 9

9
Tehnologii WEB Cursul 9 Limbajul PHP Elemente de bază ale limbajului PHP Sintagma tehnologii pentru server se referă în special la serverele de aplicaţii utilizate în scopul furnizării de conţinut dinamic în Web. Dintre acestea, PHP (acronim recursiv pentru PHP: Hypertext Preprocessor), realizat şi distribuit în regim open source, este cel mai des folosit. Prin PHP se înţelege atât limbajul de scripting, cât şi serverul de aplicaţii, cel din urmă având rolul de a procesa şi interpreta scripturile scrise utilizând acest limbaj. Limbajul PHP este destinat în mod special pentru dezvoltare Web, codul PHP putând fi încapsulat în (X)HTML. În ceea ce priveşte popularitatea printre limbajele de programare, PHP ocupă poziţia a treia, după C/C++ şi Java. Spre deosebire de programele scrise intr-unul dintre limbajele pentru client (JavaScript), codul PHP este interpretat pe server, utilizatorul primind - prin intermediul browserului Web - numai rezultatul obtinut, in diverse formate (XHTML). Caracteristici Dintre caracteristicile generale ale limbajului / serverului de aplicatii PHP care il recomanda drept cel mai indicat pentru dezvoltarea aplicatiilor Web, pot fi mentionate urmatoarele: o este usor de invatat si utilizat o ofera functionalitati complete o este simplu de extins, diverse module si biblioteci oferind posibilitatea ca PHP sa lucreze cu un numar mare de API-uri si alte tehnologii Web o au fost create un numar mare de medii de dezvoltare profesionale scrise în PHP, multe dintre ele fiind puse la dispozitia utilizatorului in regim open source o dispune de interfete pentru un numar mare de sisteme de gestiune a bazelor de date: Oracle Microsoft SQL Server

description

web

Transcript of 9 Cursul 9

Tehnologii WEBCursul 9

Limbajul PHPElemente de baz ale limbajului PHPSintagma tehnologii pentru server se refer n special la serverele de aplicaii utilizate n scopul furnizrii de coninut dinamic n Web. Dintre acestea, PHP (acronim recursiv pentru PHP: Hypertext Preprocessor), realizat i distribuit n regim open source, este cel mai des folosit.Prin PHP se nelege att limbajul de scripting, ct i serverul de aplicaii, cel din urm avnd rolul de a procesa i interpreta scripturile scrise utiliznd acest limbaj. Limbajul PHP este destinat n mod special pentru dezvoltare Web, codul PHP putnd fi ncapsulat n (X)HTML.n ceea ce privete popularitatea printre limbajele de programare, PHP ocup poziia a treia, dup C/C++ i Java. Spre deosebire de programele scrise intr-unul dintre limbajele pentru client (JavaScript), codul PHP este interpretat pe server, utilizatorul primind - prin intermediul browserului Web - numai rezultatul obtinut, in diverse formate (XHTML).

CaracteristiciDintre caracteristicile generale ale limbajului / serverului de aplicatii PHP care il recomanda drept cel mai indicat pentru dezvoltarea aplicatiilor Web, pot fi mentionate urmatoarele: este usor de invatat si utilizat ofera functionalitati complete este simplu de extins, diverse module si biblioteci oferind posibilitatea ca PHP sa lucreze cu un numar mare de API-uri si alte tehnologii Web au fost create un numar mare de medii de dezvoltare profesionale scrise n PHP, multe dintre ele fiind puse la dispozitia utilizatorului in regim open source dispune de interfete pentru un numar mare de sisteme de gestiune a bazelor de date: Oracle Microsoft SQL Server IBM DB2 MySQL Postgresql Informix Sybase precum si pentru standardul ODBC asigura suport pentru comunicatia cu servicii ce utilizeaza diverse protocoale, dintre care amintim: HTTP FTP (File Transfer Protocol) IMAP (Internet Message Access Protocol) POPS (Post Office Protocol version 3) COM (Component Object Model) LDAP (Lightweight Directory Access Protocol) SOAP (Simple Object Access Protocol) ofera suport pentru prelucrarea textului folosind expresii regulate implementeaza diverse metode de procesare a documentelor XML: SAX - Simple API for XML DOM - Document Object Model XMLReader SimpleXML oferind si posibilitatea transformarii acestora prin intermediul foilor de stil XSLT (XSL Transformations) asigura suport pentru: generarea si prelucrarea imaginilor gestiunea sesiunilor (folosind variabile cookie si, respectiv, variabile sesiune) instantierea obiectelor Java si utilizarea lor in mod transparent ca obiecte PHP comert electronic crearea animatiilor FLASH etc.

De obicei, PHP este folosit ca modul inclus in procesul-server HTTP, iar in cazul in care serverul amintit suporta standardul CGI (Common Gateway Interface ), poate fi utilizat si ca procesor CGI.Atunci cand browserul cere un fisier PHP serverului Web, acesta trimite cererea procesorului PHP, care efectueaza interpretarea scriptului si produce la iesirea standard continut in diverse formate: precum sunt cele textuale (XHTML, XML) grafice (GIF, JPEG, PNG) sau PDFSecventele de cod PHP sunt delimitate de un marcaj de start si de un marcaj de sfarsit (acestea sunt, in mod obisnuit, ), care determina intrarea/iesirea procesorului in/din ,,modul PHP".Se pot obtine o multime de informatii utile despre serverul de aplicatii PHP 5: extensiile instalate in sistem odata cu acesta, prin intermediul functiei phpinfo().

Exemplu 1: Script-ul urmator afiseaza un mesaj. Va fi memorat sub numele de prim.php.

Observatie foarte importanta!Atunci cand se apeleaza un script, el este rulat pe server.Acesta va efectua operatiile pe care le are programate si eventual, va scrie ceva (in exemplul anterior cu echo).Rezultatul (adica ce este scris) este returnat catre browser, iar acesta il va trata ca pe un fisier html.

Exemplu 2: Executam script-ul urmator care contine cateva elemente de formatare.

Vocabular, simboluri, expresii, instructiuni si comentariiSintaxa unui limbaj reprezinta totalitatea regulilor de scriere a programelor, astfel incat acestea sa fie acceptate de catre analizorul sintactic (numit si parser).Aceste reguli se refera la: vocabularul simbolurile expresiile si instructiunile folosite precum si la modalitatile utilizate pentru definirea functiilor si claselorO parte dintre elementele de sintaxa enumerate, referitoare la limbajul de programare PHP sunt analizate in continuare.

VocabularLimbajul PHP foloseste un vocabular format din urmatoarele componente: caractere identificatori separatoriCaracterele utilizate sunt incluse in setul de caractere al limbajului, acesta continand: literele majuscule si minuscule ale alfabetului (a-z, A-Z) cifrele corespunzatoare sistemului de numeratie zecimal (0-9) caractere speciale: !, @, #, $, &, *,(,), -, _, :, ", ', {, }, [, ] si spatiuIdentificatorii furnizeaza modalitati de denumire a datelor (adica, variabile si constante), functiilor, claselor, cuvintelor-cheie etc., fiind formati din urmatoarele caractere: cifre litere caracterul special liniuta de subliniere (underscore: _")Ca o regula generala, un identificator va incepe intotdeauna cu o litera sau cu liniuta de subliniere.Separatorii delimiteaza intre ei identificatorii si pot fi: spatiul (blank) caracterul punct si virgula ( ; ") virgula ( , ")

Cele mai mici constructii sintactice pe care le poate ,,intelege" interpretorul PHP sunt denumite simboluri (tokens, in limba engleza).Acestea sunt reprezentate de: numere (0.753, 45, 8.56) siruri ("student") variabile ($student) constante (true, false) cuvinte-cheie (if, for, do, while, function, class, this, public, protected, private, static, abstract)Simbolurile sunt separate unele de altele prin spatii albe si prin unele caractere speciale (paranteze, acolade).Practic tot ceea ce se scrie in PHP reprezinta expresii. Astfel, se spune ca PHP este un limbaj orientat pe expresii.O expresie este orice combinatie de simboluri care are o valoare. Cele mai simple expresii sunt constantele si variabilele.Cand se scrie $x=20, se atribuie variabilei $x valoarea '20'. In acest caz, '20' are valoarea 20 - adica '20' este o expresie avand valoarea 20 (in acest caz, 20 este o constanta intreaga). In exemplul prezentat, se atribuie variabilei $x valoarea 20. Astfel, $x este o expresie care - dupa atribuire - va avea valoarea 20.In general, o expresie de atribuire este o expresie in care valoarea unei variabile esterezultatul obtinut in urma evaluarii unei alte expresii.In exemplul urmator, variabilei $douazeci i este atribuita valoarea obtinuta in urmaevaluarii expresiei : 2* (9+1):$douazeci = 2*(9+1)

De multe ori, expresia evaluata in vederea atribuirii valorii sale unei variabile, poatecontine, la randul ei, alte variabile sau constante.In aceasta situatie, valoarea unei variabile continute este egala cu cea atribuita anterior, ca in exemplul urmator in care valoarea variabilei $douazeci este egala cu 20:$saizeci=10+2*($douazeci+5)

InstructiuniIn PHP, instructiunea este o expresie urmata de caracterul punct si virgula (;"), ca in C, Perl sau Java.O secventa de instructiuni valide, inclusa, de exemplu, intre marcajele este un program (numit si script). In mod obisnuit scripturile PHP se salveaza in fisiere cu extensia .php.Desi instructiunile nu pot fi combinate ca si expresiile, ele pot fi incluse in grupuri, plasate intre acolade, ca in exemplul urmator:

ComentariiCa si in alte limbaje de programare, scripturile PHP poate include comentarii, acestea fiind precizate in trei moduri:1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu estemai putin utilizat in PHP);2. in stilul JavaScript - comentariul se intinde pe o singura linie si este precedat de doua caractere slash succesive (//);3. in stilul C - comentariul se poate intinde pe mai multe linii, fiind incadrat de secventele /* si */.Comentariile din scripturi sunt ignorate de procesorul PHP, nefiind incluse rezultatul trimis browserului.

Tipuri de dateLimbajul PHP accepta opt tipuri de date, patru fiind scalare, doua compuse si alte doua speciale.Tipurile scalare sunt: logic (numit si boolean) sir de caractere (string) intreg (integer) dublu (double)

Ultimele doua reprezinta tipuri numerice.

Tipurile compuse sunt: tablou (array) obiect (object)Tipurile speciale sunt: resursa (resource) nullTipurile scalare impreuna cu tipul null se numesc tipuri simple.Tipurile compuse pot impacheta un numar arbitrar de date, acestea din urma avand diverse tipuri (simple sau compuse).

Tipul ntregTipul intreg se refera la numerele intregi, negative sau pozitive (corespunde tipului long din C).Acestea pot fi specificate in trei formate de citire, care corespund sistemelor denumeratie octal, zecimal si hexazecimal.Formatul zecimal este implicit, iar cele octal si hexazecimal sunt precizate utilizand ca prefix cifra 0 (zero) si respectiv, secventa Ox (zero urmat imediat de litera x).Orice format poate fi precedat de semnul - (minus), care arata ca numarul corespunzator este negativ.Intervalul in care pot fi specificate numerele intregi in PHP depinde de - lungimea cuvantului pe masina utilizata.Pentru cele mai multe platforme, limitele minima si maxima sunt: -(231-1) (-2147483647) si, respectiv, (231-1) (2147483647).

Tipul dubluTipul dublu se refera la numerele in virgula mobila. Formatul de citire pentru acestenumere este -A.B, unde semnul optional - (minus) corespunde numerelor negative, iar A si B sunt secvente de cifre situate in intervalul [0,9].Secventa A poate fi omisa daca numerele sunt cuprinse intre -1.0 si 1.0 (-0.6518,0.6518). Numerele duble pot fi specificate utilizand si notatia stiintifica, adica adaugand formatului anterior litera e urmata de un intreg, care semnifica o putere a numarului 10 (numarul 2500.00 se poate scrie 2.5e+3).

Tipul logicTipului logic (sau boolean) i corespund valorile true si false. Acestea pot fi utilizate, de exemplu, in instructiunile de control (if) pentru a specifica valoarea de adevar a expresiei de test.Pentru a evalua valoarea de adevar a unei expresii care nu are tipul logic, se impun urmatoarele reguli: daca valoarea expresiei este un numar, atunci 0 va fi asimilat valorii false. in caz contrar, numarul va fi asimilat valorii true; daca valoarea expresiei este un sir, acesta va fi asimilat valorii false in cazul in care este vid (adic, nu contine nici un caracter) si true, in caz contrar; valoarea null va fi asimilata intotdeauna valorii false; daca tipul valorii expresiei este compus (adic, tablou sau obiect), aceasta va fi asimilata valorii false daca nu contine nici o valoare si true in caz contrar (a nu contine nici o valoare inseamna pentru tipul tablou a nu avea nici un element, iar pentru tipul obiect a nu include nici o proprietate cu o valoare atribuita); daca valorile de tip resursa sunt valide, vor fi asimilate valorii true.

Tipul ir de caractereTipul sir de caractere reprezinta secvente de caractere. Un sir trebuie inclus ntre ghilimele sau apostrofuri.Diferenta dintre aceste modalitati de includere se manifesta in momentul procesarii.Astfel, daca se utilizeaza apostrofuri, sirul este tratat literal, in cele mai multe cazuri (pentru exceptii, vezi primele doua reguli prezentate in continuare), in vreme ce, daca se utilizeaza ghilimele, variabilele incluse in sir vor fi - in prealabil - evaluate, ca in exemplul urmator:

Tipul resursTipul resursa este un tip special de date, fiind asociat rezultatelor intoarse de unele functii definite de cateva extensii PHP. De exemplu, in cazul extensiei mysql, aceste functii pot realiza operatii ca: deschiderea fisierelor deschiderea conexiunii cu un server de baze de date interogarea bazelor de date

Variabilele avand tipul resursa pot fi transmise unor functii, in scopul prelucrarii rezultatelor asociate acestora, dupa cum vom studia la sistemul de gestiune a bazelor de date mysql.