<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.oop5.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'language.oop5.constants.php',
    1 => 'Sınıf Sabitleri',
    2 => 'Sınıf Sabitleri',
  ),
  'up' => 
  array (
    0 => 'language.oop5.php',
    1 => 'Sınıflar ve Nesneler',
  ),
  'prev' => 
  array (
    0 => 'language.oop5.property-hooks.php',
    1 => 'Property Hooks',
  ),
  'next' => 
  array (
    0 => 'language.oop5.autoload.php',
    1 => 'Otomatik Y&uuml;klenen Sınıflar',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/oop5/constants.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.oop5.constants" class="sect1">
  <h2 class="title">Sınıf Sabitleri</h2>
  <p class="para">
   <a href="language.constants.php" class="link">Sabit</a> değerlerinin her sınıf için
   ayrı ayrı tanımlanabilmesi mümkündür.
   Sabit sınıflarının öntanımlı görünülüğü <code class="literal">public</code>&#039;tir.
  </p>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    Sınıf sabitlerini bir çocuk sınıf yeniden tanımlayabilir. PHP 8.1.0
    itibariyle, <a href="language.oop5.final.php" class="link">final</a> olarak
    tanımlanmış sınıf sabitlerini çocuk sınıflar yeniden tanımlayamaz.
   </p>
  </p></blockquote>
  <p class="para">
   Ayrıca, nesne arayüzlerinin de kendi sabitlerinin olması mümkündür.
   Örnekler için <a href="language.oop5.interfaces.php" class="link">Nesne
   Arayüzleri</a> belgesine bakınız.
  </p>
  <p class="para">
   Bir sınıfa bir değişken kullanarak atıfta bulunmak mümkündür. Değişkenin
   değeri, <code class="literal">self</code>, <code class="literal">parent</code>,
   <code class="literal">static</code> gibi bir anahtar sözcük olamaz.
  </p>
  <p class="para">
   Sınıf sabitlerinin her sınıf örneği için değil her sınıf için bir kere
   ayrıldığını unutmayın.
  </p>
  <div class="example" id="example-1">
   <p><strong>Örnek 1  - Bir sabitin tanımlanması ve kullanımı</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">MyClass<br /></span><span style="color: #007700">{<br />    const </span><span style="color: #0000BB">CONSTANT </span><span style="color: #007700">= </span><span style="color: #DD0000">'sabit değer'</span><span style="color: #007700">;<br /><br />    function </span><span style="color: #0000BB">showConstant</span><span style="color: #007700">() {<br />        echo  </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">CONSTANT </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    }<br />}<br /><br />echo </span><span style="color: #0000BB">MyClass</span><span style="color: #007700">::</span><span style="color: #0000BB">constant </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$classname </span><span style="color: #007700">= </span><span style="color: #DD0000">"MyClass"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$classname</span><span style="color: #007700">::</span><span style="color: #0000BB">CONSTANT </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$class </span><span style="color: #007700">= new </span><span style="color: #0000BB">MyClass</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$class</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">showConstant</span><span style="color: #007700">();<br /><br />echo </span><span style="color: #0000BB">$class</span><span style="color: #007700">::</span><span style="color: #0000BB">CONSTANT</span><span style="color: #007700">.</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <p class="para">
    Özel <strong><code>::class</code></strong> sabiti ile
    derleme sırasında tamamen nitelenmiş sınıf ismi çözünürlüğü mümkün
    olup isim alanlı sınıflar için kulllanışlıdır:
  </p>
 <div class="example" id="example-2">
  <p><strong>Örnek 2 - İsim alanlı ::class örneği</strong></p>
  <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">namespace </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br />    class </span><span style="color: #0000BB">bar </span><span style="color: #007700">{<br />    }<br /><br />    echo </span><span style="color: #0000BB">bar</span><span style="color: #007700">::class; </span><span style="color: #FF8000">// foo\bar<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

 </div>

 <div class="example" id="example-3">
  <p><strong>Örnek 3 - Sınıf sabitinde ifade kullanımı</strong></p>
  <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">const </span><span style="color: #0000BB">BİR </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /><br />class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br />    const </span><span style="color: #0000BB">İKİ </span><span style="color: #007700">= </span><span style="color: #0000BB">BİR </span><span style="color: #007700">* </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />    const </span><span style="color: #0000BB">ÜÇ </span><span style="color: #007700">= </span><span style="color: #0000BB">BİR </span><span style="color: #007700">+ </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">İKİ</span><span style="color: #007700">;<br />    const </span><span style="color: #0000BB">CÜMLE </span><span style="color: #007700">= </span><span style="color: #DD0000">'ÜÇ için değer: '</span><span style="color: #007700">.</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">THREE</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

  </div>

  <div class="example" id="example-4">
   <p><strong>Örnek 4 - Sınıf sabiti görünürlük değiştiricileri (PHP 7.1.0 ve sonrası)
   </strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Foo </span><span style="color: #007700">{<br />    public const </span><span style="color: #0000BB">BAR </span><span style="color: #007700">= </span><span style="color: #DD0000">'bar'</span><span style="color: #007700">;<br />    private const </span><span style="color: #0000BB">BAZ </span><span style="color: #007700">= </span><span style="color: #DD0000">'baz'</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">Foo</span><span style="color: #007700">::</span><span style="color: #0000BB">BAR</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">Foo</span><span style="color: #007700">::</span><span style="color: #0000BB">BAZ</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

   <div class="example-contents"><p>
Yukarıdaki örneğin PHP 7.1 çıktısı:</p></div>
   <div class="example-contents screen">
<div class="cdata"><pre>
bar

Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …
</pre></div>
   </div>
 </div>
 <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
  <p class="para">
   Sınıf sabitlerinde görünürlük değiştiricileri desteği PHP 7.1.0&#039;da eklendi.
  </p>
 </p></blockquote>
 </div><?php manual_footer($setup); ?>