PHP menyokong kelas dan lain-lain yang berorientasikan objek membina.
contoh kelasClass public static $ foo; bar $ awam; fungsi awam regularFunction () echo $ this-> bar; fungsi statik awam staticFunction () echo self :: $ foo; fungsi statik awam anotherStatFn () self :: staticFunction (); fungsi awam regularFnUsingStaticVar () echo self :: $ foo; // NOTA: Dari PHP 5.3 menggunakan $ this :: bar $ bukannya sendiri :: $ bar dibenarkan exampleClass :: $ foo = "Hello"; $ obj = new exampleClass (); $ obj-> bar = "World!"; exampleClass :: staticFunction (); / * mencetak Hello * / $ obj-> regularFunction (); / * mencetak Dunia! * /
Fungsi statik hanya boleh menggunakan pembolehubah statik. Fungsi dan pembolehubah statik dirujuk melalui diri ::fungsiName () atau diri ::variableName. Dalam contoh yang ditunjukkan di atas, pembolehubah statik dirujuk dengan nama kelas (contohClass :: $ foo) atau, dengan a diri :: (self :: $ foo) apabila digunakan dalam kaedah statik [bernama staticFunction ()dari kelas.
Fungsi dan pemboleh ubah biasa kelas memerlukan konteks objek yang dirujuk. Mereka tidak boleh wujud tanpa konteks objek. Konteks objek disediakan oleh $ ini. Dalam contoh di atas, bar $ adalah pemboleh ubah biasa dan oleh itu ia dirujuk sebagai $ obj-> bar (dalam konteks objek dengan pemboleh ubah obj) atau sebagai $ this-> bar (lagi dalam konteks objek dalam kaedah objek).
diri sendiri tidak menggunakan sebelumnya $ kerana diri sendiri tidak memaksudkan pembolehubah tetapi kelas membina sendiri. $ ini merujuk pemboleh ubah tertentu supaya ia mempunyai sebelumnya $.