PHP'nin yorumlanmış dilini öğrenirken, acemi web programcıları sözde değişken $ this gibi bir kavramla karşılaşırlar. Koddaki amacı ve kullanım kuralları diğer tüm değişkenlerden çok farklıdır, bu yüzden bu konunun üzerinde ayrıntılı olarak durmakta fayda var.
Sınıflar ve nesneler
PHP'de sürüm 5'ten beri kullanılan nesne yönelimli programlama (OOP), programcıya aynı sınıfın nesneler adı verilen herhangi bir sayıda örneğini oluşturma yeteneği sağlar; bu durumda, oluşturulan her kopya kendi adını alır. Bir nesne, argüman adı verilen verileri alabilir, onu işlevlerle işleyebilir ve bir sonuç döndürebilir. Bir sınıfın herhangi bir işlevi, özelliklerine doğrudan değil, yalnızca nesne-> özellik yapısı aracılığıyla erişebilir, bu nedenle soru ortaya çıkar: Adı ne olursa olsun, oluşturulan herhangi bir nesnenin verilerle çalışmasına izin verecek böyle evrensel bir kod nasıl yazılır? Şekil 1'de gösterilen örneği düşünün.
Bu kod, bir değişkene (özellik) ve biri yapıcı olan iki işleve (yöntem) sahip bir sınıf bildirir, yani. yeni bir nesne oluşturulduğunda otomatik olarak başlar. Yapıcı işlevinin işi, nesne oluşturulduğunda bağımsız değişken tarafından alınan özelliğe verileri atamaktır. Yöntem çağrıldığında, özelliğin değerini döndürür.
Ardından, 12 ve 13 satırlarını düşünün. İçlerinde, biri argüman olarak 5 sayısını ve diğeri - 7'yi alan sınıfın iki yeni örneği oluşturulur. Bu değerler, yapıcı işlevi tarafından bir değişkene atanır. (özellik) yalnızca sınıf içinde erişilebilir. Oluşturulan her nesne, değişkenlere ve buna göre atanır (daha doğrusu, bu değişkenler yalnızca belirtilen nesnelere referanslar alır, ancak şu anda bunun bir önemi yoktur). Artık özellik değerlerini basit bir yöntem çağrısı ile alabilirsiniz (15 ve 16. satırlar).
$ Bu sözde değişkene atama
Lütfen dikkat: tamamen aynı yöntemlerle iki farklı nesnemiz var.
Sahte değişkenin kurtarmaya geldiği yer burasıdır. Adı İngilizce'den "bu" olarak çevrilebilir, yani. bulunduğu nesneye işaret eder (bir bağlantıdır). Sonuç olarak, for satırı "bir nesne özelliğine bir argümanın değerini atayın", satır 8 - "bir nesne özelliğinin değerini döndür" olarak okunabilir. Çünkü değişken otomatik olarak uygun değeri alacaktır.