noţiuni elementare despre internet - runceanu.ro · 1. in stilul perl - comentariul se intinde pe...

65
TEHNOLOGII WEB Universitatea Constantin Brâncuşi” din Târgu-Jiu Lect.dr . Adrian Runceanu

Upload: others

Post on 12-Sep-2019

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

TEHNOLOGII WEB

Universitatea “Constantin Brâncuşi” din Târgu-Jiu

Lect.dr. Adrian Runceanu

Page 2: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Curs 7

PHP (Php: Hypertext Preprocessor)

(partea I)

06.04.2017 Tehnologii WEB - curs 2

Page 3: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Curs 7

1. Elemente de bază ale limbajului PHP2. Tipuri de date 3. Variabile. Constante. Operatori

06.04.2017 Tehnologii WEB - curs 3

Page 4: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

1. 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.

06.04.2017 Tehnologii WEB - curs 4

Page 5: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

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.

1. Elemente de bază ale limbajului PHP

06.04.2017 Tehnologii WEB - curs 5

Page 6: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

06.04.2017 Tehnologii WEB - curs 6

Page 7: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

06.04.2017 Tehnologii WEB - curs 7

Page 8: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

1. Elemente de bază ale limbajului PHP

Spre deosebire de programele scrise intr-unul dintre limbajele pentru client (ex. JavaScript), codul PHP este interpretat pe server, utilizatorul primind - prin intermediul browserului Web - numai rezultatul obtinut, in diverse formate (XHTML).

06.04.2017 Tehnologii WEB - curs 8

Page 9: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Caracteristici (I)

Dintre 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

06.04.2017 Tehnologii WEB - curs 9

Page 10: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Caracteristici(II)

dispune de interfete pentru un numar mare de sisteme de gestiune a bazelor de date:OracleMicrosoft SQL ServerIBM DB2MySQLPostgresqlInformixSybaseprecum si pentru standardul ODBC

06.04.2017 Tehnologii WEB - curs 10

Page 11: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Caracteristici(III)

asigura suport pentru comunicatia cu servicii ce utilizeaza diverse protocoale, dintre care amintim:HTTPFTP (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)

06.04.2017 Tehnologii WEB - curs 11

Page 12: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Caracteristici(IV)

ofera suport pentru prelucrarea textului folosind expresii regulate

implementeaza diverse metode de procesare a documentelor XML: SAX - Simple API for XMLDOM - Document Object ModelXMLReader SimpleXML

oferind si posibilitatea transformarii acestora prin intermediul foilor de stil XSLT (XSL Transformations)

06.04.2017 Tehnologii WEB - curs 12

Page 13: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Caracteristici(V)

asigura suport pentru:generarea si prelucrarea imaginilorgestiunea sesiunilor (folosind variabile cookie si,

respectiv, variabile sesiune)instantierea obiectelor Java si utilizarea lor in mod

transparent ca obiecte PHPcomert electroniccrearea animatiilor FLASHetc.

06.04.2017 Tehnologii WEB - curs 13

Page 14: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

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 PHPserverului 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 PDF

06.04.2017 Tehnologii WEB - curs 14

Page 15: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Secventele de cod PHP sunt delimitate de un marcaj de start si de un marcaj de sfarsit (acestea sunt, in mod obisnuit, <?php si ?>), care determina intrarea/iesirea procesorului in/din "modul PHP".

06.04.2017 Tehnologii WEB - curs 15

Page 16: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Informatii utile Se pot obtine despre serverul de aplicatii PHP 5,

extensiile instalate in sistem odata cu acesta, prinintermediul functiei phpinfo().

06.04.2017 Tehnologii WEB - curs 16

Page 17: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

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

<?phpecho “primul script PHP”;

?>

06.04.2017 Tehnologii WEB - curs 17

Page 18: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

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.

06.04.2017 Tehnologii WEB - curs 18

Page 19: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Exemplu 2: Executam script-ul urmator care contine cateva

elemente de formatare HTML.<?php

echo “Acesta este <b>primul</b> script <b><i>PHP</i></b>”;

?>

06.04.2017 Tehnologii WEB - curs 19

Page 20: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Vocabular, simboluri, expresii, instructiuni si comentarii

Sintaxa 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 modalitatile utilizate pentru definirea functiilor si claselor

O parte dintre elementele de sintaxa enumerate, referitoare la limbajul de programare PHP sunt analizate in continuare.

06.04.2017 Tehnologii WEB - curs 20

Page 21: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Vocabular

Limbajul PHP foloseste un vocabular format din urmatoarele componente: 1. caractere2. identificatori 3. separatori

1. Caracterele 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

spatiu

06.04.2017 Tehnologii WEB - curs 21

Page 22: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

2. Identificatorii 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.3. Separatorii delimiteaza intre ei identificatorii si pot fi:

– spatiul (blank)– caracterul punct si virgula („;") – virgula („,")

06.04.2017 Tehnologii WEB - curs 22

Page 23: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

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).

06.04.2017 Tehnologii WEB - curs 23

Page 24: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Expresii

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.

06.04.2017 Tehnologii WEB - curs 24

Page 25: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

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.

Expresii

06.04.2017 Tehnologii WEB - curs 25

Page 26: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

In general, o expresie de atribuire este o expresie in care valoarea unei variabile este rezultatul obtinut in urma evaluarii unei alte expresii.

In exemplul urmator, variabilei $douazeci îi este atribuita valoarea obtinuta in urma evaluarii expresiei: 2* (9+1):

$douazeci = 2*(9+1)

Expresii

06.04.2017 Tehnologii WEB - curs 26

Page 27: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

De multe ori, expresia evaluata in vederea atribuirii valorii sale unei variabile, poate contine, 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)

Expresii

06.04.2017 Tehnologii WEB - curs 27

Page 28: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Instructiuni

In 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 <?php si ?> este un program (numit si script).

In mod obisnuit scripturile PHP se salveaza in fisiere cu extensia .php.

06.04.2017 Tehnologii WEB - curs 28

Page 29: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Desi instructiunile nu pot fi combinate ca si expresiile, ele pot fi incluse in grupuri, plasate intre acolade, ca in exemplul urmator:

<?php$numar=20;if ($numar>=0) {

echo "Radacina patrata a numarului $numar este:";

echo sqrt($numar); }elseecho "Numarul este negativ. Precizati unul pozitiv!";

?>

Instructiuni

06.04.2017 Tehnologii WEB - curs 29

Page 30: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Comentarii(I)

Ca si in alte limbaje de programare, scripturile PHPpot 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 este mai putin utilizat in PHP);

06.04.2017 Tehnologii WEB - curs 30

Page 31: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Comentarii(II)

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.

06.04.2017 Tehnologii WEB - curs 31

Page 32: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Curs 7

1. Elemente de bază ale limbajului PHP2. Tipuri de date 3. Variabile. Constante. Operatori

06.04.2017 Tehnologii WEB - curs 32

Page 33: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

2. Tipuri de date

Limbajul PHP accepta opt tipuri de date, patru fiind scalare, doua compuse si alte doua speciale.

Tipurile scalare sunt: 1. logic (numit si boolean)2. sir de caractere (string) 3. intreg (integer) 4. dublu (double)

Ultimele doua reprezinta tipuri numerice.

06.04.2017 Tehnologii WEB - curs 33

Page 34: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Tipurile compuse sunt:tablou (array) obiect (object)

Tipurile speciale sunt: resursa (resource) null

Tipurile 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).

2. Tipuri de date

06.04.2017 Tehnologii WEB - curs 34

Page 35: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

1. Tipul întreg

Tipul 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 de numeratie octal, zecimal si hexazecimal.

Formatul zecimal este implicit, iar cele octal si hexazecimal sunt precizate utilizand ca prefix cifra 0 (zero) si respectiv, secventa 0x (zero urmat imediat de litera x).

06.04.2017 Tehnologii WEB - curs 35

Page 36: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

1. Tipul întreg

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).

06.04.2017 Tehnologii WEB - curs 36

Page 37: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

2. Tipul dublu(I)

Tipul dublu se refera la numerele in virgula mobila.

Formatul de citire pentru aceste numere este -A.B, unde semnul optional - (minus) corespunde numerelor negative, iar A si B sunt secvente de cifre situate in intervalul [0,9].

06.04.2017 Tehnologii WEB - curs 37

Page 38: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

2. Tipul dublu(II)

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).

06.04.2017 Tehnologii WEB - curs 38

Page 39: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

3. Tipul logic(I)

Tipului 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;

06.04.2017 Tehnologii WEB - curs 39

Page 40: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

3. Tipul logic(II)

– 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.

06.04.2017 Tehnologii WEB - curs 40

Page 41: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

4. Tipul şir de caractere(I)

Tipul 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.

06.04.2017 Tehnologii WEB - curs 41

Page 42: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

4. Tipul şir de caractere(II)

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:

<?php$limbaj="PHP";echo "Limbajul meu preferat este $limbaj<br />";

// Se afiseaza Limbajul meu preferat este PHP

echo 'Limbajul meu preferat este $limbaj';// Se afiseaza Limbajul meu preferat este $limbaj

?>06.04.2017 Tehnologii WEB - curs 42

Page 43: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

5. Tipul resursă(I)

Tipul 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

06.04.2017 Tehnologii WEB - curs 43

Page 44: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

5. Tipul resursă(II)

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.

06.04.2017 Tehnologii WEB - curs 44

Page 45: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Curs 7

1. Elemente de bază ale limbajului PHP2. Tipuri de date 3. Variabile. Constante. Operatori

06.04.2017 Tehnologii WEB - curs 45

Page 46: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

3. Variabile(I)

Principala modalitate de stocare temporara a datelor într-un script PHP este - reprezentata de utilizarea variabilelor.

In alcatuirea si utilizarea acestora trebuie respectate urmatoarele reguli:– sunt precedate intotdeauna de simbolul dolarului ($)– numele lor incepe cu o litera sau cu caracterul

underscore, pot contine oricate caractere alfanumerice si liniute de subliniere si sunt case sensitive, adica sensibile la diferenta dintre minuscule si majuscule (exemplu, $ovariabila si $OVariaBILa sunt variabile diferite)

06.04.2017 Tehnologii WEB - curs 46

Page 47: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

3. Variabile(II)

Spre deosebire de alte limbaje (C, C++, Java), nu este obligatorie declararea variabilelor PHP inainte de atribuire.

Altfel spus, primul pas in utilizarea unei variabile PHP este atribuirea unei valori

valoarea unei variabile este rezultatul celei mai recente atribuiri

06.04.2017 Tehnologii WEB - curs 47

Page 48: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

tipul unei variabile este tipul valorii cel mai recent atribuite (neexistand unul intrinsec), insemnand ca acesta se poate modifica la oricare noua atribuire.

Spre deosebire de alte limbaje de programare des utilizate (C, Java), PHP nu asigura suportul pentru variabile globale.

3. Variabile(III)

06.04.2017 Tehnologii WEB - curs 48

Page 49: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Trebuie mentionat, totusi, ca exista posibilitatea utilizarii in corpul functiilor a variabilelor definite in script, folosindu-se tabloul $GLOBALS, in care cheile elementelor reprezinta numele variabilelor.

Cu toate ca PHP nu suporta variabilele globale, exista un numar de variabile tablou predefinite, cunoscute sub denumirea de tablouri superglobale, al caror comportament este similar cu cel al variabilelor globale utilizate in alte limbaje de programare.

3. Variabile(IV)

06.04.2017 Tehnologii WEB - curs 49

Page 50: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Astfel, aceste tablouri pot fi accesate in orice punct al scriptului, inclusiv in interiorul metodelor si functiilor.

Alaturi de tabloul superglobal $GLOBALS, din categoria respectiva mai fac parte:

1. $_GET si $_POST – contin toate datele get si, respectiv, post primite de PHP de la browser;

2. $_COOKIE - include toate cookie-urile primite de PHP de la browser;

3. Variabile(V)

06.04.2017 Tehnologii WEB - curs 50

Page 51: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Variabilele globale pot fi accesate automat de oriunde, inclusiv din interiorul functiilor.

• s_REQUEST - contine toate variabilele GET, POST si COOKIE primite de PHP de la browser

• s_SERVER - include valorile variabilelor setate de server sau pe cele direct legate de mediul de executie al scriptului curent

• s_FILES - contine informatii despre fisierele incarcate pe server via HTTP

• s_SESSION - include variabile inregistrate in sesiunea curenta

• s_ENV - contine variabile furnizate script-ului de catre mediul de executie

06.04.2017 Tehnologii WEB - curs 51

Page 52: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Constante(I)

Constanta este un identificator pentru o valoare scalara.

Pentru definirea si utilizarea constantelor trebuie respectate urmatoarele reguli:– numele constantelor nu sunt precedate de

simbolul dolar– numele lor vor fi alcatuite la fel ca si ale

variabilelorDe asemenea, ele sunt case sensitive, motiv pentru

care, prin conventie, se scriu intotdeauna cu majuscule;

06.04.2017 Tehnologii WEB - curs 52

Page 53: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Constante(II)

– odata definita, valoarea unei constante nu mai poate fi schimbata pe parcursul executiei unui script, cu exceptia unor constante predefinite (built-in), dintre care se poate aminti:constantele magice _file (indica numele fisierului

curent) si _LINE (indica numarul liniei pe care se afla)

precum si PHP_VERSION (precizeaza versiunea interpretorului PHP)

PHP_OS (are ca valoare numele sistemului de operare al calculatorului pe care functioneaza interpretorul PHP);

06.04.2017 Tehnologii WEB - curs 53

Page 54: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Constante(III)

Functiile define() si defined() sunt utilizate pentru definirea (inregistrarea) constantelor si, respectiv, pentru verificarea existentei acestora.

Un exemplu in care sunt folosite ambele functii:

<?phpdefine("CAPITALA", "Bucuresti"); if(defined("CAPITALA"))

echo CAPITALA;?>

06.04.2017 Tehnologii WEB - curs 54

Page 55: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Constante(IV)

Primul argument al functiei define() este un sir de caractere, reprezentand numele constantei, iar al doilea o expresie PHP valida (exceptand tablourile si obiectele), numita valoarea constantei.

Daca al treilea argument (acesta fiind optional si avand tipul boolean] al functiei define() este precizat si are valoarea true (define ("CAPITALA", "Bucuresti",true)), constanta inregistrata va fi case insensitive (adica, se poate utiliza si “capitala”).

Pentru a obtine toate constantele PHP predefinite, se poate utiliza functia get_defined_constants().

06.04.2017 Tehnologii WEB - curs 55

Page 56: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Operatori(I)

In PHP sunt folosite trei tipuri de operatori: unari (se aplica unui singur operand)binari (utilizeaza doi operanzi) ternari (se folosesc impreuna cu trei operanzi)

PHP poate realiza operatii binare numai in situatia in care cei doi operanzi au acelasi tip.

06.04.2017 Tehnologii WEB - curs 56

Page 57: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Operatori(II)

Daca acestia au tipuri diferite, se realizeaza - in prealabil -conversia unui operand la tipul celuilalt, utilizand regulile urmatoare:– daca tipurile celor doi operanzi sunt intreg si dublu,

operandul intreg este convertit la tipul dublu– daca operanzii sunt de tip intreg si sir de caractere,

operandul sir caractere de este convertit la tipul intreg– daca operanzii sunt de tip dublu si sir de caractere,

operandul sir de caractere este convertit la tipul dubluDe asemenea, operanzii de tip logic, null si resursa sunt

convertiti la tipul intreg, astfel: true la 1 si false la 0, null la 0 si resursa la id-ul resursei.06.04.2017 Tehnologii WEB - curs 57

Page 58: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

1. Operatori unari

Operatorii unari utilizati in PHP sunt: operatorul de negatie logica (!) operatorul de negatie pe biti (~) operatorii de incrementare/decrementare:

postincrementare ($var++) preincrementare (++$var)postdecrementare ($var--) predecrementare (--$var)

06.04.2017 Tehnologii WEB - curs 58

Page 59: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

operatorii pentru conversia de tip (cast): – (int), (integer) - schimba tipul la intreg – (float), (real), (double) - schimba tipul la duble– (string) - schimba tipul la sir de caractere – (bool), (boole) - schimba tipul la boolean– (array) - schimba tipul la tablou– (object) - schimba tipul la obiect

Trebuie remarcat ca acesti operatori schimba tipul valorii, si nu al variabilei careia i se aplica;

operatorul pentru împiedicarea afişării erorilor (@).

06.04.2017 Tehnologii WEB - curs 59

Page 60: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

2. Operatori binariOperatorii binari utilizaţi în PHP sunt: operatori aritmetici:

– adunare (+) – scadere (-) – inmultire (*) – impartire (/) – modulo (%)

operatorul de concatenare (.);

operatori de atribuire: – operatorul = (egal)– si operatorii de atribuire compusi (dintr-un operator

si semnul egal): +=, -=, *=, /=, %=, ^=, .=, &=, |=;06.04.2017 Tehnologii WEB - curs 60

Page 61: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

operatori de comparatie: – egal (==)– inegal (!=)– mai mare (>)– mai mic (<)– mai mare sau egal (>=)– mai mic sau egal (<=) – identic (===) – neidentic (!==)

Pentru ultimii doi operatori, conversia de tip nu este efectuata, comparându-se atât tipurile, cât şi valorile acestora;

operatori logici: AND logic (&&, and), OR logic (||, or) si XOR logic (xor);

operatori pe biti: AND pe biti (&), OR pe biti ( | ) si XOR pe biti (^);

06.04.2017 Tehnologii WEB - curs 61

Page 62: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Observatie: Cu exceptia operatorului de concatenare (in cazul

caruia operanzii folositi au tipul sir de caractere sau sunt convertiti la acesta), toti operatorii binari folosesc operanzi de tip numeric (intreg sau dublu).

Daca unul sau amandoi operanzii au tipul sir de caractere, logic, null sau resursa, vor fi convertiti in echivalentii lor numerici, inainte de efectuarea operatiei.

06.04.2017 Tehnologii WEB - curs 62

Page 63: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

3. Operatori ternari

Singurul operator ternar suportat de PHP este ? :, pentru utilizarea caruia se foloseste sintaxa urmatoare:

$variabila = expresie ? expresie1 : expresie2

Operatorul ? : evalueaza expresia expresie. Daca rezultatul este true, variabila $variabila va

primi valoarea obtinuta prin evaluarea expresie1. In caz contrar, $variabila va primi valoarea rezultata

prin evaluarea expresie2.

06.04.2017 Tehnologii WEB - curs 63

Page 64: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

Exemplu de script in care se foloseste operatorul amintit:

<?php$media=9.50;$situatiescolara=($media>=8.50) ? "este premiant." : "nu este premiant.";

echo "Elevul ".$situatiescolara;?>

06.04.2017 Tehnologii WEB - curs 64

Page 65: Noţiuni elementare despre Internet - runceanu.ro · 1. in stilul Perl - comentariul se intinde pe o linie, fiind precedat de caracterul # (cu toate ca este valid, acest tip de comentariu

[email protected]

Bibliografie: Adrian Runceanu, Mihaela Runceanu, Tehnologii si aplicatii web – îndrumar de laborator, Editura Academica Brâncuşi, Târgu-Jiu, 2009, ISBN 978-973-144-302-7

Întrebări?

06.04.2017 Tehnologii WEB - curs 65