Sunteți pe pagina 1din 14

Programarea Core PHP

1. Definiţia instalării şi bazele PHP.......................................................................................................... 2


1. Instalarea şi pregătirea pentru lucru...................................................................................................... 2
2. Tipurile de date.................................................................................................................................... 2
3. Variabilele............................................................................................................................................ 3
4. Operatorii............................................................................................................................................ 3
2. Controlul fluxului.................................................................................................................................. 4
5. Instrucţiunile de ramificare................................................................................................................... 4
6. Structura switch-case........................................................................................................................... 4
7. Bucla for ............................................................................................................................................. 4
8. Bucla while.......................................................................................................................................... 5
3. Funcţiile................................................................................................................................................ 6
9. Includerea fişierelor.............................................................................................................................. 6
10. Funcţiile............................................................................................................................................. 6
4. Şirurile................................................................................................................................................... 7
11. Lucrul cu şiruri.................................................................................................................................... 7
12. Şirurile multidimensionale şi funcţionalitatea efectuată asupra şirurilor................................................. 7
5. Stringurile............................................................................................................................................. 9
13. Procesarea stringurilor........................................................................................................................ 9
14. Stringurile avansate şi patternurile...................................................................................................... 9
6. Securitatea şi debugging-ul................................................................................................................ 11
15. Conceptele de securitate.................................................................................................................. 11
16. Validarea şi filtrele de validare........................................................................................................... 11
17. Manipularea erorilor......................................................................................................................... 12
7. Lucrul cu datele.................................................................................................................................. 13
18. Manipularea lui MySQL..................................................................................................................... 13
19. PHP şi bazele de date........................................................................................................................ 13

1 / 14
1. Definiţia instalării şi bazele PHP

1. Instalarea şi pregătirea pentru lucru

PHP este un limbaj care se interpretează, ceea ce înseamnă că nu poate funcţiona fără un program de interpretare;

Cea mai mare parte a sintaxei PHP este identică cu sintaxa limbajului C;

În cele mai frecvente cazuri, PHP se utilizează în producerea paginilor HTML, respectiv a aplicaţiilor web dinamice;

PHP nu poate să emită paginile HTML fără un server web. PHP poate fi executat pe diferite servere web;

Codul PHP poate fi scris cu orice instrument de editare a textului;

Pentru ca un document să poată fi expediat către PHP, acesta trebuie să aibă extensia .php;

Pentru ca scriptul din interiorul documentului să fie pornit, acesta trebuie să fie activat prin tag-urile PHP: <?php ?>
sau <? ?> ;

În browser, nu se pot face animaţii cu ajutorul PHP-ului.

2. Tipurile de date

Tipurile de date se clasifică în tipuri simple, complexe şi speciale;

Tipurile simple de date sunt: integer, float, string şi boolean, tipurile complexe sunt: array şi object, iar cele speciale:
Resource şi NULL;

Şirurile conţin colecţii de date, unde în variabilă se memorează adresa începutului acestei colecţii;

PHP este capabil să convertească în mod automat tipurile simple;

Tipul simplu nu se poate converti în tip complex;

Există mai multe tipuri de notaţie a tipurilor numerice: octală, hexazecimală, zecimală.

2 / 14
3. Variabilele

În PHP, variabilele trebuie neapărat să conţină semnul $ ($myVariabile) în faţa numelui.

În PHP, variabilele nu trebuie să aibă un nume în care primul caracter să fie un număr sau un caracter special
($1myVariabile – nu este corect, $%myVariabile – nu este corect).

În PHP, constantele nu trebuie să aibă semnul $ în faţa denumirii. define(!n!PI!n!, 3.14).

În PHP, constantele pot fi de orice tip (care este suportat de limbaj).

4. Operatorii

Operatorii se folosesc pentru atribuirea valorilor, compararea a două valori, asocierea expresiilor sau pentru
executarea operaţiilor aritmetice asupra valorilor.

Există mai multe tipuri de operatori. Cei mai importanţi sunt: operatorii de comparaţie, operatorii logici, operatorii
aritmetici şi operatorii de atribuire.

Operatorii de comparaţie sunt: ==, !=, <, >, <=, >=, ===, !==; operatorul de atribuire este: =; operatorii logici sunt: &&,
|| , iar operatorii aritmetici sunt: +, -, /, *, %.

Atribuirea se poate executa prin valoare sau prin referinţă.

Când se aplică operatorul de incrementare sau de decrementare, contează dacă operatorul se pune înainte sau după
variabilă.

Când se utilizează operatorul aritmetic, PHP va executa conversia în tipurile corespunzătoare, dacă este posibil.

3 / 14
2. Controlul fluxului

5. Instrucţiunile de ramificare

Structurile if-else fac posibilă executarea condiţionată a unui bloc de cod.

Dacă un bloc executat condiţionat are mai mult de o linie, trebuie să fie pus între paranteze acolade (în bloc).

Expresia condiţionată a structurii if else trebuie să fie de tip Boolean.

Valoarea poate fi atribuită în mod condiţionat şi prin operatorul ternar.

Structurile if else se pot încorpora una într-alta.

Dacă dorim să mai adăugăm încă o structură la structura if else, utilizăm structura if else if.

Operatorii utilizaţi în expresiile condiţionate sunt operatorii de comparaţie.

6. Structura switch-case

Structura switch-case face posibilă executarea unui bloc în funcţie de valoarea variabilei.

Structura switch-case începe şi se termină cu paranteze acolade.

Fiecare caz al structurii switch-case se numeşte case.

Case acceptă o valoare şi o compară cu valoarea variabilei de intrare.

Case poate să accepte şi o expresie, o funcţie, chiar şi un obiect, ca mijloc de comparaţie.

Corpul fiecărui caz (case) poate (dar nu este obligatoriu) să se afle între paranteze acolade.

După îndeplinirea unei condiţii, programul va continua executarea structurii până la părăsirea acesteia.

Părăsirea structurii switch se execută, de obicei, prin instrucţiunea break.

7. Bucla for

4 / 14
În PHP, există câteva tipuri de bucle: for, while, foreach şi variaţiile lor.

Utilizăm bucla for atunci când cunoaștem valorile ei iniţiale (de câte ori va fi executată).

Bucla for subînţelege iniţializarea din trei părţi: iniţializarea numărătorului/counter-ului, condiţia numărătorului şi
incrementul/decrementul numărătorului.

Bucla for nu trebuie neapărat să aibă toţi cei trei parametri iniţiali.

Bucla foreach se utilizează pentru citirea şirurilor.

Bucla foreach poate să citească valorile sau cheile şi valorile unui şir.

Bucla poate fi întreruptă necondiţionat prin cuvântul-cheie break.

Iteraţia buclei poate fi omisă prin cuvântul-cheie continue.

8. Bucla while

While şi do while execută repetarea aceleiaşi operaţiuni de un anumit număr de ori.

While şi do while sunt buclele pe care le creăm atunci când nu ştim exact de câte ori trebuie să fie executat un proces.

Bucla while subînţelege intrarea în corpul buclei şi executarea sa numai dacă condiţia buclei este îndeplinită.

Bucla do while subînţelege executarea obligatorie a cel puţin unei iteraţii a buclei, înainte ca verificarea condiţiei să fie
executată.

Buclele while şi do while pot fi întrerupte prin cuvântul-cheie break.

Se poate trece la următoarea iteraţie a buclelor while şi do while prin cuvântul-cheie continue.

Buclele while şi do while subînţeleg o expresie condiţionată, a cărei valoare trebuie să fie de tip Boolean.

Executarea buclelor while şi do while se face manual, în interiorul buclei şi de aceea trebuie să avem grijă să nu intrăm
în bucla moartă.

5 / 14
3. Funcţiile

9. Includerea fişierelor

În PHP, puteţi include un cod din fişiere externe în codul actual.

Instrucţiunile şi funcţiile pentru importarea fişierelor externe sunt include, require, include_once şi require_once.

Dacă executarea programului depinde de codul extern, folosiţi require sau require_once.

Dacă executarea codului nu depinde de codul extern, se foloseşte include sau include_once.

require şi require_once întrerup necondiţionat executarea programului dacă fişierul nu există.

include şi include_once continuă executarea programului dacă fişierul nu există.

10. Funcţiile

Funcţiile reprezintă unul dintre elementele-cheie ale programării orientate pe obiect.

Există funcţii integrate şi funcţii definite de utilizator.

Funcţia poate fi definită oriunde în cod, dar este de preferat să fie definită la început.

Funcţiile primesc parametri şi returnează un rezultat.

Funcţiile pot avea şi valori implicite ale parametrilor.

Variabilele declarate în funcţie nu sunt accesibile în afara funcţiei.

Pentru ca acestea să fie accesibile şi în afara funcţiei, este necesară utilizarea cuvântului-cheie global.

Funcţiile reduc dimensiunea codului.

Funcţiile cresc portabilitatea codului.

6 / 14
4. Şirurile

11. Lucrul cu şiruri

Modul implicit de indexare în PHP, în ceea ce privește indexarea numerică, începe de la 0.

Un şir se poate crea şi prin folosirea funcţiei array().

count(), sizeof() returnează lungimea şirului.

Funcţiile sort(), asort(), rsort(), ksort(), krsort() se folosesc pentru sortarea şirurilor.

Funcţia shuffle() se foloseşte pentru distribuirea arbitrară a elementelor şirului.

Funcţiile explode() şi implode() se folosesc pentru convertirea stringului în şir şi invers.

Funcţia array_diff( $sir1, $sir2, ... ) identifică elementele care se deosebesc în şirurile menţionate.

Funcţia array_sum() adună valorile care sunt elemente ale şirului.

Cu ajutorul funcţiei array_unique() se pot elimina elementele identice ale unui şir.

Funcţia array_merge($numeSir1, $numeSir2) vă oferă posibilitatea să uniţi două şiruri într-unul singur.

În PHP, se poate crea un nou şir ca un subset al unuia deja existent cu ajutorul funcţiei array_slice($numeSir, poziţie,
lungime).

12. Şirurile multidimensionale şi funcţionalitatea efectuată asupra şirurilor

PHP suportă şirurile şiruri, respectiv şirurile multidimensionale.

Pentru a crea un şir multidimensional, pentru membrii şirului se iniţializează, de asemenea, şiruri.

FIFO şi LIFO sunt două relaţii diferite faţă de datele din colecţia de date, respectiv două tipuri diferite de colecţii de
date. FIFO – queue, LIFO – stack.

PHP suportă şiruri de perechi de chei şi valori.

Şirurile pot fi gestionate prin buclă, funcţii sau prin acces direct la indexuri.

7 / 14
8 / 14
5. Stringurile

13. Procesarea stringurilor

print( ) şi echo() sunt cele mai simple funcţii de scriere a textului.

printf() prezintă textul static şi dinamic.

Funcţia sprintf() plasează text în noua variabilă.

trim( ) – elimină spaţiile goale la începutul şi finalul stringului.

ltrim( ) – elimină spaţiile goale la începutul stringului.

rtrim( ) – elimină spaţiile goale la sfârşitul stringului.

str_word_count( ) – împarte textul în cuvinte şi le pune în şir sau numără cuvintele în string.

strpbrk(string, char) – caută caracterul char în textul string.

strtoupper(string) – transformă toate literele în majuscule.

strtolower(string) – transformă toate literele în minuscule.

14. Stringurile avansate şi patternurile

Există câteva moduri de înregistrare a stringurilor şi o mulţime de funcţii pentru manipularea lor.

PHP este în stare să parseze stringul astfel încât din el va elimina componente importante pentru executarea
programului (variabilei).

Diferenţa dintre ghilimelele simple şi duble constă, printre altele, în faptul că ghilimelele duble permit parsarea în
cadrul stringului, iar cele simple nu.

Stringurile pot fi formatate după nevoia rezultatului.

Se pot număra caracterele stringului (funcţia strlen).

Se poate schimba o anumită parte din string cu un alt string (str_replace).

Se poate separa un anumit text într-un string (substr).

9 / 14
10 / 14
6. Securitatea şi debugging-ul

15. Conceptele de securitate

Securitatea aplicaţiei web PHP este cea mai vulnerabilă la intrare.

Intrarea de utilizator se face prin intermediul controalelor de utilizator.

Fiecare dată nesigură care intră în aplicaţia PHP trebuie filtrată.

În procesul de filtrare, deosebim noţiunile de listă albă şi neagră.

La intrare, trebuie verificat controlul şi referrer-ul.

La ieşire, trebuie verificate conţinuturile definite de utilizator.

La baza de date, trebuie verificate interogările SQL.

Register globals permit crearea automată a variabilelor după numele parametrului.

Pentru ca aplicaţia să fie mai sigură, register globals trebuie să fie dezactivate.

Cu ocazia activării codului existent, trebuie să se facă o verificare a fişierelor incluse, preferabil prin intermediul listei
albe.

16. Validarea şi filtrele de validare

Securitatea este cea mai importantă caracteristică a unei aplicaţii web.

Validarea datelor se poate face pe pagina de client şi server a aplicaţiei.

Dacă ceva nu este vizibil pe pagină, asta nu înseamnă că nu este vizibil în codul-sursă HTML.

Referrer-ul este locaţia de pe care clientul este orientat spre pagină prin intermediul unui link.

Pentru validarea pe client se foloseşte JavaScript.

PHP are funcţii încorporate de validare.

Funcţia PHP încorporată de validare se numeşte filter_var şi primeşte variabila care trebuie să verifice şi tipul de
validare care trebuie efectuat asupra sa.

11 / 14
17. Manipularea erorilor

Cea mai frecventă cauză a erorilor este problema de accesare a resurselor externe (fişiere, baza, intrarea de utilizator,
stream).

Erorile se previn prin logica din cod, prin procesarea excepţiilor și a erorilor.

Eroarea poate fi activată manual.

Se poate face propriul handler de manipulare a erorilor, care va cuprinde toate erorile sau doar cele de un anumit tip,
iar cu acest handler puteți transcrie handler-ul încorporat.

Se poate elimina propria excepţie în timpul executării codului.

Se poate crea propria clasă de excepţii care moşteneşte clasa Exception.

Manipularea excepţiilor se face în aşa fel încât principalul cod să fie pus în try block, iar codul alternativ în catch block,
unde ambele blocuri trebuie să existe, iar catch block trebuie să accepte variabila care este de tip excepţie.

12 / 14
7. Lucrul cu datele

18. Manipularea lui MySQL

Proiectul SQL Buddy este accentuat astfel încât se bazează pe o instalare uşoară, în cadrul lui Wamp Server, şi pe o
interfaţă de utilizator simplă.

Selectând opţiunea Insert, aveţi posibilitatea să introduceţi date în tabelele pe care le-aţi creat.

Ceea ce este necesar să faceţi atunci când schimbaţi parola este să o setaţi pentru numele de utilizator root şi să
înlăturaţi utilizatorul anonimous şi să creaţi un utilizator nou, dacă trebuie.

Prin importarea bazei în MySQL, puteţi introduce baza dvs. deja existentă.

Este recomandabil ca baza să aibă extensia .sql.

Exportul bazei de date reprezintă ieşirea bazei din cadrul SQL Buddy.

Biblioteca funcţiilor pe care o foloseşte PHP pentru stabilirea legăturii cu MySQL se numeşte MySQLi (litera i este
adăugată din cuvântul improved din limba engleză, ceea ce înseamnă „îmbunătăţit”).

mysqli_connect_errno() returnează numărul de erori în cazul executării eşuate, iar în caz că executarea este reuşită
atunci returnează zero.

Numele funcţiilor cu versiuni procedurale încep cu ’mysqli_’ şi acestor funcţii trebuie să li se atribuie resursa pe care aţi
primit-o mai devreme de la funcţia mysqli_connect().

În baza de date la care vreţi să vă conectaţi, trebuie să specificaţi ca parametru funcţiile mysqli_connect().

Executarea interogării către baza de date se face prin intermediul funcţiei mysqli_query().

Setul de rezultate îl puteţi elibera apelând metoda mysqli_free_result( $rezultate ).

Funcţia mysqli_close (legătura cu bază) se foloseşte pentru întreruperea legăturilor cu baza de date.

19. PHP şi bazele de date

PHP asigură suport pentru Open Database Connectivity (ODBC) şi astfel programul PHP poate accesa orice bază de
date care susţine ODBC.

odbc_connect(dsn/dsn-less connection string, username, password) – funcţie care se foloseşte pentru stabilirea
conexiunii cu baza.

13 / 14
odbc_exec(connection_id, SQL query_string) – această funcţie se foloseşte pentru executarea comenzii SQL.

Extensia mysql, începând cu versiunea PHP 5.5.0, se consideră depăşită şi aceasta nu se mai recomandă pentru
utilizare.

Reprezentarea datelor din bază se execută cu interogarea SELECT.

14 / 14

S-ar putea să vă placă și