PHP este un limbaj de programare de tip interpretat. Asta inseamna ca fisierele ce contin cod-sursa PHP sunt interpretate ca atare in momentul executiei, de catre PHP. Asadar, pentru executia unei portiuni de cod PHP este folosit codul-sursa asa cum a fost scris el, si nu este transformat intr-o forma intermediara (binara sau cod-masina) cum se intampla la Java sau C/C++. Acest lucru ofera flexibilitate, intrucat orice modificare a fisierelor sursa va fi aplicata imediat la urmatoarea executie, fara alti pasi intermediari. Exista si dezavantaje la acest mod de lucru, cum ar fi timp mai mare de executie a codului, dar in anumite situatii avantajele pot cantari mai mult decat dezavantajele. Datorita faptului ca limbajul este unul interpretat, PHP mai este numit si limbaj de scripting.
In sens mai larg, PHP este un limbaj de programare universal (sau general-purpose), oferind toate facilitatile oricarui limbaj avansat. Codul scris in PHP poate face aproape aceleasi lucruri ca un cod de C/C++ sau Java. Cu toate astea, PHP s-a impus in zona web, ca limbaj server-side, ce extinde functionalitatea serverelor web. Din acest motiv programarea in PHP mai este denumita si programare web sau programare web server-side.
Interpretorul PHP actioneaza ca o componenta aditionala, o extensie a serverului web care este invocata de ori cate ori o pagina PHP este accesata. Aceasta componenta proceseaza codul-sursa din pagina si apoi transmite rezultatul inapoi la web-server, ajungand in final in browserele utilizatorilor.
Static si dinamic
Spre exemplu, presupunand ca avem o pagina statica ce afiseaza membrii unei comunitati, la fiecare inscriere a unei noi persoane, pagina ar trebui modificata manual de catre cineva cu acces la serverul web. Lucrurile se complica daca acea lista este personalizata, cu trimiteri catre alte informatii (cum ar fi detalii de contact pentru fiecare, etc) sau cu un design intortocheat. Toate aceste probleme pot fi rezolvate cu ajutorul PHP.
Folosind o secventa de cod PHP am putea prelua lista de membri dintr-o baza de date, eliminand problema actualizarii - nu va mai fi nevoie sa se modifice pagina odata cu fiecare membru nou, scriptul PHP va afisa in mod automat noile persoane adaugate in baza de date. Este rezolvata si problema linkurilor personalizate, sau a designului - toate elementele specifice unei persoane pot fi generate in mod automat.
Aceste pagini sunt, asadar, modificate de catre PHP la momentul accesarii lor de catre utilizatori. In functie de parametrii primiti si de secventa de cod definita de programator, aceasi pagina poate avea continut diferit. Aceasta proprietate este denumita dinamism, iar o astfel de pagina este considerata pagina dinamica.