PHP atbalsta klases un citas uz objektu orientētas konstrukcijas.
klases piemersClass public static $ foo; publisks $ bārs; publiska funkcija regularFunction () echo $ this-> bar; publiskā statiskā funkcija staticFunction () echo self :: $ foo; publiska statiskā funkcija citsStatFn () self :: staticFunction (); publiska funkcija regularFnUsingStaticVar () echo self :: $ foo; // PIEZĪME: Sākot ar 5.3 PHP, izmantojot $ this :: $ bar, nevis self :: $ bar, ir atļauta exampleClass :: $ foo = "Sveiki"; $ obj = jauns piemērsClass (); $ obj-> bar = "Pasaule!"; exampleClass :: staticFunction (); / * izdrukas Sveiki * / $ obj-> regularFunction (); / * drukā pasauli! * /
Statiskās funkcijas var izmantot tikai statiskos mainīgos. Uz statiskajām funkcijām un mainīgajiem lielumiem atsaucas, izmantojot sevi ::functionName () vai sevi ::mainīgais nosaukums. Iepriekš parādītajā piemērā statiskajiem mainīgajiem ir atsauce uz klases nosaukumu (exampleClass :: $ foo) vai ar sevi :: (self :: $ foo), ja to izmanto statiskā metodē [nosaukts staticFunction ()] klases.
Klases parastajām funkcijām un mainīgajiem ir nepieciešams atsaukties uz objekta kontekstu. Tie nevar pastāvēt bez objekta konteksta. Objekta kontekstu nodrošina $ šo. Iepriekšminētajā piemērā $ josla ir parasts mainīgais, tāpēc to apzīmē kā $ obj-> joslu (objekta kontekstā ar mainīgo obj) vai kā $ this-> joslu (atkal objekta kontekstā, izmantojot objekta metodi).
sevi neizmanto iepriekšējo USD jo sevi nevis norāda mainīgo, bet gan pašas klases konstrukciju. $ šo atsaucas uz konkrētu mainīgo, tāpēc tam ir iepriekšējais USD.