PHP sınıfları ve diğer nesne yönelimli yapıları destekler.
class exampleClass public static $ foo; halka açık $ bar; public function regularFunction () echo $ this-> bar; public static işlevi staticFunction () echo self :: $ foo; genel statik işlev anotherStatFn () self :: staticFunction (); public function regularFnUsingStaticVar () echo self :: $ foo; // NOT: PHP 5.3'ten itibaren $ kullanarak :: :: :: bar yerine self :: $ bar'a izin verilir exampleClass :: $ foo = "Merhaba"; $ obj = new exampleClass (); $ obj-> bar = "Dünya!"; ExampleClass :: staticFunction (); / * yazdırır Hello * / $ obj-> regularFunction (); / * Dünyayı yazdırıyor! * /
Statik işlevler yalnızca statik değişkenleri kullanabilir. Statik fonksiyonlara ve değişkenlere öz ::functionName () veya öz ::değişken ismi. Yukarıda gösterilen örnekte, statik değişkenlere sınıf adıyla (exampleClass :: $ foo) veya bir öz :: (self :: $ foo) statik yöntemle kullanıldığında [staticFunction () adlı] sınıfın.
Sınıfın normal işlevlerine ve değişkenlerine başvurulan bir nesne bağlamı gerekir. Nesne bağlamı olmadan var olamazlar. Nesne içeriği $ this. Yukarıdaki örnekte, $ bar normal bir değişkendir ve bu nedenle $ obj-> bar (değişkenli nesne bağlamında) obj) veya $ this-> bar (yine bir nesne yöntemi içindeki bir nesne bağlamında) olarak.
öz öncekini kullanmaz $ Çünkü öz bir değişkeni değil, sınıfın kendisini oluşturur. $ this belirli bir değişkeni referans alır, böylece önceki $.