A PHP támogatja az osztályokat és más objektum-orientált konstrukciókat.
class exampleClass public statikus $ foo; nyilvános $ bár; public function regularFunction () echo $ this-> bar; nyilvános statikus funkció staticFunction () echo self :: $ foo; nyilvános statikus függvény másikStatFn () self :: staticFunction (); public function regularFnUsingStaticVar () echo self :: $ foo; // MEGJEGYZÉS: A PHP 5.3-tól a $ this :: $ bar használatakor az its :: $ bar használata megengedett exampleClass :: $ foo = "Hello"; $ obj = új példaClass (); $ obj-> bar = "Világ!"; exampleClass :: staticFunction (); / * nyomtat Hello * / $ obj-> regularFunction (); / * kinyomtatja a világot! * /
A statikus függvények csak statikus változókat használhatnak. A statikus függvényekre és a változókra a maga::functionName () vagy maga::változóNév. A fenti példában a statikus változókat az osztály nevére (exampleClass :: $ foo) vagy egy maga:: (self :: $ foo) statikus módszerrel történő felhasználáskor [staticFunction () nevű] az osztály.
Az osztály rendszeres függvényeihez és változóihoz objektumkontextust kell hivatkozni. Objektum-kontextus nélkül nem létezhetnek. Az objektum kontextusát a $ this. A fenti példában a $ bar egy reguláris változó, ezért $ obj-> bar-ra hivatkozunk (az objektum kontextusában a változóval) obj) vagy $ this-> sávként (ismét egy objektumkörnyezetben egy objektum módszerén belül).
maga nem használ előzőt $ mert maga nem egy változót jelöl, hanem maga az osztálykonstrukció. $ this hivatkozik egy adott változóra, tehát van egy előzője $.