Paginile web ce contin PHP sunt tratate la fel ca şi paginile HTML obişnuite, putând fi create si editate în acelasi mod ca acestea.
De ce este nevoie
Codul PHP este delimitat de coduri de start () ce permit să intri şi să ieşi din \"modul PHP\" oriunde într-un fisier HTML.
Ex:
Scrierea unui script PHP
Pentru a crea scripturi PHP, majoritatea programatorilor PHP folosesc un editor de texte obişnuit.Sub Microsoft Windows se utilizează frecvent Windows Notepad , WordPad sau chiar un procesot de texte precum Microsoft Word.
Scrierea scheletului programelor PHP
Fiecare program PHP include două linii speciale , care indică serverului PHP că textul cuprins între cele două linii este alcătuit din instrucţiuni PHP.Aceste 2 linii între care se scrie scriptul PHP sunt :
După scrierea scriptului acesta se salvează sub formă de fişier text , cu un nume care respectă următoarele reguli :
Numele fişierului trebuie să fie alcătuit numai din caractere minuscule ,cifre şi liniuţe.Utilizarea spaţiilor şi a altor caractere este interzisă
Extensia fişierului trebuie să fie .php
Crearea datelor de ieşire pentru un browser Web
Programele PHP execută trei categorii de operaţii elementare :
Obţin date de la utilizator
Execută prelucrări ale datelor ,respectiv obţin accesul la datele stocate în fişiere şi baze de date şi le manipulează
Afişează date astfel încât un utilizator să le poată vizualiza
Instrucţiunea care trimite date de ieşire la un browser Web astfel încât acestea să fie vizibile pentru utilizatori - numită instrucţiune de reflectare este :
echo("text afişat ") ;
Instrucţiunea începe cu cuvâtul echo şi se încheie cu un caracter punct şi virgulă .Parantezele si gilimelele duble sunt folosite pentru delimitarea unei expresii de tip text.
Documentarea unui script PHP
Comentariile sunt introduse într-un script PHP se introduc prin prefixarea liniei comentariu cu două slash-uri ( //)
// aceasta este o linie comentariu
Pentru a introduce comentarii pe mai multe rânduri se utilizeaza caracterele /* la începutul comentariului respectiv */ la sfârsitul acestuia :
/* acesta este un comentariu
pe mai multe rânduri
*/
Executarea unui script
După incărcarea fişierului care conţine scriptul se lansează browserul Web preferat şi se deschide adresa URL asociată scriptului.Adresa URL trebuie să fie alcătuită din adresa catalogului care conţine scripturile , urmată de slash (/) şi de numele fişierului care conţine scriptul PHP.
Variabile formular
Intr-un script php poate fi accesat fiecare câmp al unui formular ca variabilă php al cărei nume este în legătură cu numele câmpului formularului. In php toate numele de variabile încep cu simbolul $. In funcţie de versiunea de php şi de configurarea ei există trei metode de a accesa datele formularului prin intermediul variabilelor: stil scurt/mediu/lung. De ex. conţinutul câmpului cantit poate fi accesat astfel:
$cantit //stil scurt
$_POST['cantit'] //stil mediu
$HTTP_POST_VARS['cantit'] //stil lung
In aplicaţia mea voi utiliza stilul scurt deoarece este mai convenabil. Această alegere va necesita activarea în fişierul de configurare php.ini a setării register_globals.
Din motive de securitate este recomandat ca la utilizarea stilului scurt pentru accesarea variabilelor să se atribuie o valoare de pornire tuturor variabilelor. La utilizarea stilului scurt numele variabilelor din script sunt identice cu numele câmpurilor formular din formularul HTML. Câmpul cantit din formular creează variabila $cantit în scriptul de prelucrare. Nu este nevoie ca variabilele să fie declarate sau să se efectueze vreo acţiune pentru a crea aceste variabile în cadrul scriptului. Variabilele sunt transferate scriptului cam în aceeaşi manieră în care sunt transferate argumentele la funcţii.
Variabile declarate de utilizator
In afară de variabilele primite de la un formular HTML pot fi declarate şi utilizate propriile variabile. Una dintre caracteristicile php este că variabilele nu trebuie declarate înainte de a fi utilizate. O variabilă va fi creată atunci când i se atribuie o valoare pentru prima dată.
Tipuri de variabile
Tipul unei variabile se referă la genul de date care sunt păstrate în ea.
Tipuri de date din php
PHP acceptă următoarele tipuri de date:
. Integer - utilizat pentru numere întregi
. Double - utilizat pentru numere reale
. String - utilizat pentru şiruri de caractere
. Boolean - utilizat pentru valori true sau false
. Array - utilizat pentru stocarea mai multor date de acelaşi tip
. Object - utilizat pentru stocarea instanţelor claselor
Incadrat între ghilimele numele unei variabile va fi înlocuit cu valoarea sa; încadrat între apostrofuri, numele variabilei sau orice alt text va fi trimis nemodificat.
Variabile variabile
PHP oferă un alt tip de variabilă - variabila variabilă. Aceasta permite modificarea în mod dinamic a numelui unei variabile. Acest lucru se realizaează prin utilizarea valorii unei variabile ca nume pentru o altă variabilă.
Ex:$$varname=\'cantit\'
$$varname =5 este echivalent cu $cantit=5
Operatori
De obicei operatorii pot avea unul, două sau trei argumente, marea lor majoritate având două. Aceste argumente poartă numele de operanzi; asupra lor se va realiza operaţia.
Tipuri de operatori
. operatorul de atribuire (=)
. operatorul de concatenare a şirurilor(.)
. operatorii aritmetici (+,-,*,/,%).
. operatori de atribuire combinaţi (+=,-=,*=,/=,%=,.=)
. operatorii de pre-/post-incrementare (++,--)
. operatorul referinţă (&)
. operatori de comparare(= =,= = =(identitate),!=,,,=)
. operatori logici (! (NOT),&& (AND), || (OR), AND (identic cu && dar are o prioritate mai scăzută), OR)
. operatori pe biţi (& (AND pe biţi), | (OR), ~ (NOT), ^ (XOR),(deplasare la dreapta)
. operatorul virgulă (,) - utilizat pentru separarea argumentelor funcţiilor şi a altor liste de articole
. operatorii new si -> sunt folosiţi pentru a instanţia o clasă respectiv pentru a accesa membri clasei.
. operatorul element de tablou ([]) - permite accesarea elemtelor de tablou. In unele situaţii este folosit şi operatorul =>
. operatorul ternar (?:) - condiţie ? valoare pentru condiţie falsă : valoare pentru condiţie adevărată
. operatorul pentru ascunderea erorii (@) poate fi folosit în faţa oricărei expresii, adică în faţa oricărui lucru care are sau generează o valoare.
. operatorul de execuţie - este de fapt o pereche de operatori, mai exact două accente grave(``). PHP va încerca să execute ceea ce va întâlni între accentele grave ca o comandă la linia de comandă a serverului.
Prioritate şi asociativitate. Evaluarea expresiilor
De obicei, operatorii au o prioritate sau o ordine în care sunt evaluaţi. De asemenea, operatorii au şi o asociativitate care este ordinea în care sunt evaluaţi operatorii având aceeaşi prioritate. Aceasta este de obicei de la stânga la dreapta (sau mai pe scurt, stânga), de la dreapta la stânga(sau mai pe scurt, dreapta) sau nu are relevanţă.
Asociativitate Operatori
Stânga
Stânga
Stânga
Stânga
Dreapta
Stânga
Stânga
Stânga
Stânga
Stânga
Stânga
Stânga
n/a
n/a
stânga
stânga
stânga
dreapta
dreapta
n/a
n/a '
Or
Xor
And
Print
= += -= /= .= %= &= |= ^= ~= =
? :
||
&&
|
^
&
= = != = = =
< >=
>
+ - .
* / %
! ~ ++ -- (int)(double)(string) (array) (object) @
[]
New
()
Tabel cu prioritatea operatorilor în PHP (operatorii cu o prioritate mai scăzută se găsesc la început, prioritatea crescând pe măsură ce se coboară în tabel)
Structuri de control
Structurile de control sunt structurile dintr-un limbaj care permit controlul fluxului de instrucţiuni într-un program sau script. Se pot grupa în structuri condiţionale(if,elseif,switch) şi structuri repetitive sau bucle(while, for, foreach, do while).
Uneori e nevoie a se executa mai multe instrucţiuni aferente unei anumite condiţii. Pentru aceasta există blocurile de cod ce conţin mai multe instrucţiuni încadrate între acolade.
Ieşirea dintr-o structură de control sau dintr-un script
In cazul în care se doreşte oprirea execuţiei unei bucăţi de cod sa a unui script, în funcţie de efectul dorit există trei alternartive:
a) daca se doreşte oprirea execuţiei unei bucle, se poate folosi instrucţiunea break ; în acest caz execuţia scriptului va continua de la prima linie din script care urmează după buclă.
b) Dacă se doreşte saltul la următoarea iteraţie a buclei se va folosi instrucţiunea continue
c) Dacă se doreşte oprirea întregului script php, se va folosi instrucţiunea exit
Utilizarea tablourilor
Un tablou este o variabilă care stochează un set sau o secvenţă de valori. Valorile stocate într-un tablou se numesc elemente. Fiecare element dintr-un tablou are asociat un index (numit şi cheie) care este folosit pentru accesarea elemntului. Un tablou care conţine alte tablouri se numeşte tablou multidimensional.
PHP acceptă atât tablouri indexate numeric cât şi tablouri asociative. Tablourile asociative permit folosirea ca index a unor valori(cuvinte sau alte informaţii) mai sugestive decât un index numeric.
Tablouri indexate numeric
Ex. $produse = array('calculator','casetofon','televizor').
Această linie de cod va crea un tablou denumit produse care va conţine cele trei valori date. Trebuie precizat că, asemenea lui echo, array() este o construcţie a limbajului php şi nu o funcţie. Dacă datele de care este nevoie există într-un alt tablou, se poate copia pur şi simplu un tablou în altul folosind operatorul =. Dacă se doreşte ca într-un tablou să fie stocată o secvenţă crescătoare de numere, se poate folosi funcţia range() pentru a crea tabloul în mod automat. Ex.:$cifre=range(0,9). Accesarea elementelor tabloului se face folosind indexul elementului respectiv. Ex: produse[0]=calculator.
Tablouri asociative
Ex: $preţuri=array('calculator' => 800, 'casetofon' => 200, 'televizor' =>400)
Linia de cod de mai sus creează un tablou asociativ în care cheile sunt numele produselor iar preţurile sunt valorile. Accesarea elementelor tabloului se face la fel ca şi până acum cu deosebirea că acum se va folosi pe post de index (cheie) un nume şi nu un index numeric. Ex: preţuri['televizor'].
Sortarea unui tablou indexat numeric se poate realiza foarte uşor folosind funcţia sort() care va sorta în ordine crescătoare valorile dintr-un tablou dat ca parametru. In cazul sortării unui tablou asociativ se va utiliza una din funcţiile asort() sau ksort(). Funcţia asort() ordonează tabloul după valoarea fiecărui element pe când funcţia ksort() sortează după cheie şi nu după valori. Versiunile de sortare inversă (descrescătoare) ale celor trei funcţii de sortare prezentate anterior sunt: rsort(),arsort() şi krsort().