Hypertext Preprocessor (PHP) yra scenarijų kalba, kuri yra universali kalba, daugiausia naudojama svetainėse; ji bendrauja su duomenų bazėmis, kuria specialiuosius efektus ir logiką bei padeda atlikti administracines funkcijas, tokias kaip svetainės narių valdymas. Klasės kodas PHP yra naudojamas kodavimo kapsulei, kurią galima naudoti nuolat, sudaryti, todėl programuotojui nereikia rašyti to paties kodavimo kiekvienam atvejui. Abstrakčioji PHP klasė, kuri buvo pristatyta kartu su PHP5, yra panaši į įprastą klasę, tačiau naudojama tada, kai reikės tik dalies klasės kodo, o kiti skyriai turės būti apibrėžti, kad konkretus naudojimas veiktų tinkamai. Abstraktioji PHP klasė gali būti nustatyta kaip vieša arba apsaugota, bet ne privati.
Bendrosios klasės veikimo būdas PHP yra toks, kad programuotojas suteikia klasei pavadinimą – pvz., „transporto priemonė“, jei koduojama transporto priemone, kurį galima prisiminti vėliau. Šioje klasėje programuotojas parašys instrukcijų rinkinį, pvz., kodą, kaip priversti transporto priemonę pasukti į kairę arba stabdyti. Šio tipo kodavimas imituoja objektinį kodavimą arba kodavimą, kuris atskiria kodo dalis į objektus, turinčius savo kodų rinkinius. PHP natūraliai nėra į objektą orientuotas kodas, tačiau naudojant šį metodą jis gali jį emuliuoti.
Abstrakčioji klasė PHP yra sukurta panašiai. Pagrindinis PHP kodavimo su abstrakčia klase skirtumas yra tas, kad klasės struktūra prasideda „abstract class“, o ne „class“. Sukūrus šį kodą, programai sukuriamas neišsamus vadovas; vėliau galima užpildyti nepilną vadovą.
Neužbaigtos dalys užpildomos, kai programos metu iškviečiama abstrakčioji klasė. Pavyzdžiui, transporto priemonių abstrakčiųjų klasėje bus pagrindinės instrukcijos, skirtos visų tipų transporto priemonėms, tokioms kaip automobiliai, sunkvežimiai ir motociklai. Tačiau kiekviena transporto priemonė turi savo specifinius poreikius, o abstrakčioji klasė leis programuotojui patenkinti šiuos konkrečius poreikius, nereikės rašyti atskiro kodavimo kiekvienai transporto priemonei. Dėl to kodavimas tampa veiksmingesnis, sumažinamas klaidų skaičius ir lengviau greitai pakeisti kiekvieną objektą, kuriame naudojama abstrakčioji klasė.
PHP klasės nurodomos kaip viešos, apsaugotos arba privačios. Kiekviena iš šių etikečių veikia kaip skydas, ribojantis kodo matomumą pagal vartotojo prieigos lygį. Nustačius klasę kaip viešą, bet kuris vartotojas gali matyti kodą, apsaugota būsena apriboja tam tikrą kodo dalį, o privati leidžia tik nurodytiems vartotojams matyti kodą. Abstraktioji PHP klasė gali būti nustatyta kaip vieša arba apsaugota, tačiau ji negali būti privati.