kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
mavzermete 1
mavzermete
xranzei 1
xranzei
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

PHP – Sınıf Sabitleri

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

PHp2.jpg


PHP, bir sınıftaki tanımlayıcının, sınıf bazında değişmeden kalan sabit bir değere sahip bir "sınıf sabiti" olarak tanımlanmasına izin verir. Sınıf içindeki bir değişkenden veya özellikten ayırt etmek için, sabitin adı olağan "$" sembolüyle öneklenmez ve "const" niteleyicisiyle tanımlanır. Bir PHP programının define () işlevi kullanılarak oluşturulmuş bir genel sabite de sahip olabileceğini unutmayın.

Bir sabitin varsayılan görünürlüğü public'tir, ancak tanımlamada başka değiştiriciler kullanılabilir. Bir sabitin değeri bir ifade olmalı ve bir değişken veya bir fonksiyon çağrısı/özelliği olmamalıdır. Bir sabitin değerine, kapsam çözümleme operatörü kullanılarak sınıf adı aracılığıyla erişilir. Ancak bir yöntemin içinde, self değişkeni aracılığıyla başvurulabilir.

class SomeClass {
const CONSTANT = 'constant value';
}
echo SomeClass::CONSTANT;

Sabit adları büyük/küçük harfe duyarlıdır. Geleneksel olarak, sabitlerin adları büyük harfle yazılır.

Örnek

Bu örnek, bir Sınıf Sabitinin nasıl tanımlandığını ve erişildiğini gösterir.

PHP:
<?php
   class square {
      const PI=M_PI;
      var $side=5;
      function area() {
         $area=$this->side**2*self::PI;
         return $area;
      }
   }
   $s1=new square();
   echo "PI=". square::PI . "\n";
   echo "area=" . $s1->area();
?>

Aşağıdaki çıktıyı üretecektir:

PI=3.1415926535898
area=78.539816339745


Sınıf Sabiti İfade Olarak

Bu örnekte, sınıf sabitine bir ifade atanır:

PHP:
<?php
   const X = 22;
   const Y=7;

   class square {
      const PI=X/Y;
      var $side=5;
      function area() {
         $area=$this->side**2*self::PI;
         return $area;
      }
   }
   $s1=new square();
   echo "PI=". square::PI . "\n";
   echo "area=" . $s1->area();
?>

Aşağıdaki çıktıyı üretecektir:

PI=3.1428571428571
area=78.571428571429

Sınıf Sabit Görünürlük Değiştiricileri

Aşağıdaki örneğe bir göz atın.

PHP:
<?php
   class example {
      const X=10;
      private const Y=20;
   }
   $s1=new example();
   echo "public=". example::X. "\n";
   echo "private=" . $s1->Y ."\n";
   echo "private=" . example::Y ."\n";
?>

Aşağıdaki çıktıyı üretecektir:

public=10
PHP Notice: Undefined property: example::$Y in line 11

private=
PHP Fatal error: Uncaught Error: Cannot access private const example::Y
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst