Sınıflar ve Nesneler
PHP Manual

Sınıf Sabitleri

Sabitlerin her sınıf için ayrı ayrı tanımlanabilmesi mümkündür. Sabitler diğer değişkenlerden tanımlanmaları ve kullanılmaları sırasında başlarına getirilmeyen $ imi sayesinde ayrılırlar.

Değer, örneğin, bir değişken, bir sınıf özelliği, bir matematiksel işlemin sonucu veya bir işlev çağrısı değil, bir sabit ifade olmalıdır.

Ayrıca, sınıf arayüzlerinin de kendi sabitlerinin olması mümkündür. Örnekler için Nesne Arayüzleri belgesine bakınız.

PHP 5.3.0'dan itibaren, bir sınıfa bir değişken kullanarak atıfta bulunmak mümkündür. Değişkenin değeri, self, parent, static gibi bir anahtar sözcük olamaz.

Örnek 1 - Bir sabitin tanımlanması ve kullanımı

<?php
class MyClass
{
    const 
constant 'sabit değer';

    function 
showConstant() {
        echo  
self::constant "\n";
    }
}

echo 
MyClass::constant "\n";

$classname "MyClass";
echo 
$classname::constant "\n"// PHP 5.3.0'dan itibaren

$class = new MyClass();
$class->showConstant();

echo 
$class::constant."\n"// PHP 5.3.0'dan itibaren
?>

Örnek 2 - Duruk veri örneği

<?php
class foo {
    
// PHP 5.3.0'dan itibaren
    
const bar = <<<'EOT'
bar
EOT;
}
?>

Duruk veri bağlamında yorumlanan çok satırlı metinler değil (heredoc), yorumlanmayan çok satırlı metinler (nowdoc) kullanılabilir.

Bilginize:

Yorumlanmayan çok satırlı metin (nowdoc) desteği 5.3.0'da eklenmiştir.


Sınıflar ve Nesneler
PHP Manual