PHP podpira razrede in druge objektno usmerjene konstrukte.
class exampleClass javni statični $ foo; javna $ bar; javna funkcija regularFunction () echo $ this-> bar; javna statična funkcija staticFunction () echo self :: $ foo; javna statična funkcija AnotherStatFn () self :: staticFunction (); javna funkcija regularFnUsingStaticVar () echo self :: $ foo; // OPOMBA: Od PHP 5.3 uporabljamo $ this :: $ bar namesto self :: $ bar je dovoljen exampleClass :: $ foo = "Pozdravljeni"; $ obj = nov primerClass (); $ obj-> bar = "Svet!"; exampleClass :: staticFunction (); / * natisne Hello! / $ obj-> regularFunction (); / * tiska svet! * /
Statične funkcije lahko uporabljajo samo statične spremenljivke. Statične funkcije in spremenljivke se sklicujejo prek jaz ::functionName () ali jaz ::variableName. V zgornjem primeru se statične spremenljivke sklicujejo na ime razreda (exampleClass :: $ foo) ali z jaz :: (self :: $ foo), kadar se uporablja v statični metodi [imenovan staticFunction ()] razreda.
Redne funkcije in spremenljivke razreda potrebujejo referenčni kontekst predmeta. Ne morejo obstajati brez objektnega konteksta. Objektni kontekst zagotavlja $ to. V zgornjem primeru je $ bar navadna spremenljivka, zato je navedena kot $ obj-> bar (v objektnem kontekstu s spremenljivko obj) ali kot vrstica $ this-> (spet v kontekstu predmeta znotraj metode predmeta).
jaz ne uporablja predhodnega $ Ker jaz ne pomeni spremenljivke, temveč samo konstrukcijo razreda. $ to se sklicuje na določeno spremenljivko, tako da ima predhodno $.