Sınıflar ve Nesneler
PHP Manual

Özellikler

Sınıf üyesi değişkenlere "özellik" denir. Bunlara bazan "öznitelik" veya "alan" dendiğini de görürsünüz, fakat bu kılavuzun amaçları doğrultusunda biz "özellik" terimini kullanacağız. Bunlar normal değişken bildiriminin önüne public, protected, veya private anahtar sözcükleri getirilerek bildirilir. Bildirim, bir ilklendirme olarak da yapılabilir; bu durumda bir sabit değerle ilklendirme yapılmalıdır. Yani, derleme sırasında değerlendirilebilmeli, çalışma anında değerlendirilebilecek bilgiler içermemelidir.

public, protected, ve private sözcüklerinin anlamları için Görünürlük belgesine bakınız.

Bilginize:

PHP 4 ile geriye uyumluluğu sağlamak için, PHP 5 özellik bildiriminde public, protected, veya private yerine (veya ek olarak) hala var sözcüğü kabul edilmektedir. Ancak, var artık gerekli değildir. PHP'nin 5.0'dan 5.1.3'e kadar olan sürümlerinde, var kullanımı önerilmeyen kullanım olarak ele alınır ve bir E_STRICT uyarısı çıktılanırdı; PHP 5.1.3'ten beri önerilmeme durumu ortadan kalkmış olup bir uyarı çıktılanmamaktadır.

Bir özelliği public, protected, veya private yerine var kullanarak bildirirseniz PHP 5 özelliği public olarak bildirilmiş gibi ele alır.

Özelliklere, sabitlere ve yöntemlere sınıf yöntemleri içinden erişilirken yöntem duruk ise self::$özellik, değilse $this- >özellik sözdizimi kullanılabilir (burada "özellik" özelliğin ismidir). Daha ayrıntılı bilgi için static Anahtar Sözcüğü bölümüne bakınız.

Yöntem bir nesne bağlamından çağrılıyorsa $this sözde değişkeni sınıf yöntemleri içinde de kullanılabilir. $this, yöntemi çağıran nesneye (yöntemin ait olduğu nesneye) bir gönderimdir. Fakat yöntem, bir ikincil nesne bağlamından duruk olarak çağrılıyorsa, bu, birincil nesne de olabilir.

Örnek 1 - Özellik bildirimi

<?php
class SimpleClass
{
   
// geçersiz özellik bildirimleri:
   
public $var1 'hello ' 'world';
   public 
$var2 = <<<EOD
hello world
EOD;
   public 
$var3 1+2;
   public 
$var4 self::myStaticMethod();
   public 
$var5 $myVar;

   
// geçerli özellik bildirimleri:
   
public $var6 myConstant;
   public 
$var7 = array(truefalse);

   
// Buna sadece PHP 5.3.0 ve sonrasında izin verilir.
   
public $var8 = <<<'EOD'
hello world
EOD;
}
?>

Bilginize:

Sınıflar ve nesnelerle çalışan bazı işlevler vardır. Bunlar için Sınıf ve Nesne İşlevleri bölümüne bakınız.

Yorumsuz metinler, yorumlu metinlerin tersine özellik bildirimleri dahil herhangi bir duruk veri bağlamında kullanılabilir.

Örnek 2 - Özellik ilklendirmede yorumsuz metin kullanımı

<?php
class foo {
   
// PHP 5.3.0'dan beri
   
public $bar = <<<'EOT'
bar
EOT;
}
?>

Bilginize:

Yorumsuz metin desteği PHP 5.3.0'da eklenmiştir.


Sınıflar ve Nesneler
PHP Manual