<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.enumerations.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'language.enumerations.basics.php',
    1 => 'Temel Sayılamalar',
    2 => 'Temel Sayılamalar',
  ),
  'up' => 
  array (
    0 => 'language.enumerations.php',
    1 => 'Sayılamalar',
  ),
  'prev' => 
  array (
    0 => 'language.enumerations.overview.php',
    1 => 'Sayılamalara giriş',
  ),
  'next' => 
  array (
    0 => 'language.enumerations.backed.php',
    1 => 'Destekli Sayılamalar',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/enumerations.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.enumerations.basics" class="sect1">
   <h2 class="title">Temel Sayılamalar</h2>

   <p class="para">
    Sayılamalar sınıflara benzer ve sınıflar, arayüzler ve niteliklerle
    aynı isim alanını paylaşır. Ayrıca, aynı yolla otomatik yüklenebilir.  Her
    sayılama, sınırlı ve sabit sayıda olası değer içeren yeni bir tür
    tanımlar.
   </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">enum </span><span style="color: #0000BB">Deste<br /></span><span style="color: #007700">{<br />    case </span><span style="color: #0000BB">Kupalar</span><span style="color: #007700">;<br />    case </span><span style="color: #0000BB">Karolar</span><span style="color: #007700">;<br />    case </span><span style="color: #0000BB">Sinekler</span><span style="color: #007700">;<br />    case </span><span style="color: #0000BB">Maçalar</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>


   <p class="para">
    Bu bildirim <code class="literal">Deste</code> adında yalnız ve yalnız dört meşru
    değer içeren yeni bir sayılama türü oluşturur:
    <code class="literal">Deste::Kupalar</code>, <code class="literal">Deste::Karolar</code>,
    <code class="literal">Deste::Sinekler</code> ve <code class="literal">Deste::Maçalar</code>.
    Değişkenlere bu dört değerden biri atanabilir. Yalnızca sayılama
    türünde değerlerin aktarılabileceği bir işlevin türü sadece o
    sayılama türüne karşı tür denetimine tabi tutulabilir.
   </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">function </span><span style="color: #0000BB">kart_seç</span><span style="color: #007700">(</span><span style="color: #0000BB">Deste $deste</span><span style="color: #007700">)<br />{<br />    </span><span style="color: #FF8000">/* ... */<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #0000BB">$val </span><span style="color: #007700">= </span><span style="color: #0000BB">Deste</span><span style="color: #007700">::</span><span style="color: #0000BB">Karolar</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// OK<br /></span><span style="color: #0000BB">kart_seç</span><span style="color: #007700">(</span><span style="color: #0000BB">$val</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// OK<br /></span><span style="color: #0000BB">kart_seç</span><span style="color: #007700">(</span><span style="color: #0000BB">Deste</span><span style="color: #007700">::</span><span style="color: #0000BB">Sinekler</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Tür hatası: kart_seç(): Bağımsız değişken #1 ($deste) Deste türünde olmalıyken string türünde<br /></span><span style="color: #0000BB">kart_seç</span><span style="color: #007700">(</span><span style="color: #DD0000">'Sinekler'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>


   <p class="para">
    Bir sayılama sıfır veya daha fazla sayıda <code class="literal">case</code>
    tanımı içerebilir ve azami bir sınır yoktur. <code class="literal">case</code>
    içermeyen sayılamalar sözdizimsel olarak geçerli olsa da
    yararsızdır.
   </p>

   <p class="para">
    Sayılama kılıflarında PHP&#039;nın yaftalara uyguladığı sözdizimi
    kuralları uygulanır, daha fazla bilgi
    <a href="language.constants.php" class="link">Sabitler</a> bölümünde bulunabilir.
   </p>

   <p class="para">
    Öntanımlı olarak, bir <code class="literal">case</code> özünde bir sayıl değerle
    desteklenmez. Yani, <code class="literal">Deste::Kupalar</code> sayıl olarak
    <code class="literal">&quot;0&quot;</code> değerine eşit değildir. Bunun yerine, her
    <code class="literal">case</code> taşıdığı isimde tekil bir nesneyle desteklenir.
    Şöyle ki:
   </p>

   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$a </span><span style="color: #007700">= </span><span style="color: #0000BB">Deste</span><span style="color: #007700">::</span><span style="color: #0000BB">Sinekler</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #0000BB">Deste</span><span style="color: #007700">::</span><span style="color: #0000BB">Sinekler</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">=== </span><span style="color: #0000BB">$b</span><span style="color: #007700">; </span><span style="color: #FF8000">// true<br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">instanceof </span><span style="color: #0000BB">Deste</span><span style="color: #007700">;  </span><span style="color: #FF8000">// true<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>


   <p class="para">
    Bu ayrıca, sayılama değerlerin birbirlerinden büyük veya küçük
    olamayacağı anlamına da gelir (zaten nesneler arasında böyle bir
    karşılaştıma anlamsızdır). Sayılama değerleri ile çalışırken bu
    karşılaştırmalar daima <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürür.
   </p>

   <p class="para">
    Bir değer içermeyen <code class="literal">case</code> türüne &quot;Desteksiz Kılıf&quot;
    denir. Sadece desteksiz kılıflar içeren sayılamalara &quot;Desteksiz
    Sayılama&quot; denir.
   </p>

   <p class="para">
    Tüm desteksiz kılıflar içerildikleri sayılamayı gerçekleyen
    örneklerdir. <code class="literal">enum</code> türü dahili olarak bir sınıfla
    ifade edilir.
   </p>

   <p class="para">
    Tüm kılıflar birer salt-okunur özellik olup <code class="literal">name</code> harf
    büyüklüğüne duyarsız olarak kılıfın kendi ismidir.
   </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">print </span><span style="color: #0000BB">Deste</span><span style="color: #007700">::</span><span style="color: #0000BB">Sinekler</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">name</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// çıktısı: "Sinekler"<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>


   <p class="para">
    <code class="literal">name</code> dinamik olarak elde edilmişse, bir enum durumunun
    varlığına bakmak veya okumak için <span class="function"><a href="function.defined.php" class="function">defined()</a></span> ve
    <span class="function"><a href="function.constant.php" class="function">constant()</a></span> işlevlerini kullanmak da mümkündür. Bununla
    birlikte, <a href="language.enumerations.backed.php" class="link">Destekli
    sayılamaların</a> kullanımı çoğu kullanım durumunda çalışması
    gerektiğinden bu önerilmez.
   </p>
  </div><?php manual_footer($setup); ?>