<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.namespaces.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'language.namespaces.basics.php',
    1 => 'Temeller',
    2 => 'İsim alanlarının kullanımı: Temeller',
  ),
  'up' => 
  array (
    0 => 'language.namespaces.php',
    1 => 'İsim Alanları',
  ),
  'prev' => 
  array (
    0 => 'language.namespaces.definitionmultiple.php',
    1 => 'Birden fazla isim alanının aynı dosyada tanımlanması',
  ),
  'next' => 
  array (
    0 => 'language.namespaces.dynamic.php',
    1 => 'İsim alanları ve dinamik dil &ouml;zellikleri',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/namespaces.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.namespaces.basics" class="sect1">
  <h2 class="title">İsim alanlarının kullanımı: Temeller</h2>
  
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8)</p>
  <p class="para">
   İsim alanlarının kullanımından önce PHP&#039;nin kodunuzdaki hangi isim alanlı
   kodu isteğinizi nasıl anlayabildiğinden bahsetmek gerekir. Bunu daha
   kolay anlayabilmek için PHP isim alanları ile dosya sistemleri arasındaki
   benzerlikten yola çıkılabilir. Bir dosya sistemindeki bir dosyaya üç
   yolla erişilebilir:
   <ol type="1">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">fan.txt</code> şeklinde göreli dosya ismiyle.  Bu isim dosya
      sisteminde içinde bulunulan dizin  <code class="code">geçerlidizin/</code> olmak
      üzere <code class="literal">geçerlidizin/fan.txt</code> olarak çözümlenir. Dolayısıyla
      geçerli dizin <code class="literal">/home/veli</code> ise dosya ismi
      <code class="literal">/home/veli/fan.txt</code> olarak çözümlenecektir.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">altdizin/fan.txt</code> şeklinde göreli dosya yolu. Bu isim
      dosya sisteminde içinde bulunulan dizin  <code class="code">geçerlidizin/</code>
      olmak üzere <code class="literal">geçerlidizin/altdizin/fan.txt</code> olarak
      çözümlenir.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">/home/veli/fan.txt</code> şeklinde mutlak dosya yolu. Bu,
      <code class="literal">/home/veli/fan.txt</code> olarak çözümlenir.
     </span>
    </li>
   </ol>
   Aynı kurallar PHP&#039;deki isim alanlı elemanlara da uygulanabilir. Örneğin
   bir sınıf ismine üç şekilde başvurulabilir:
   <ol type="1">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">$a = new fan();</code> veya
      <code class="literal">fan::statikyöntem();</code> gibi bir nitelenmemiş isim veya
      öneksiz bir sınıf ismi.  Eğer geçerli isim alanı ismi
      <code class="literal">geçerlisimalanı</code> ise bu isim,
      <code class="literal">geçerlisimalanı\fan</code> olarak çözümlenir. Eğer kod küresel
      ve isim alansız ise, isim <code class="literal">fan</code> olarak çözümlenecektir.
     </span>
     <span class="simpara">
      Bir ayrıntı: Eğer isim alanlı işlev ve sabitler tanımlı ise
      nitelenmemiş isimli işlevler ve sabitler küresel işlevler ve sabitler
      olarak çözümlenir. Ayrıntılar için <a href="language.namespaces.fallback.php" class="link">İsim alanlarının kullanımı: Son
      çare olarak küresel işlev ve sabitler</a> bölümüne bakınız.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">$a = new altisimalanı\fan();</code> veya
      <code class="literal">altisimalanı\fan::statikyöntem();</code> gibi bir nitelenmemiş
      isim veya öneksiz bir sınıf ismi. Eğer geçerli isim alanı ismi
      <code class="literal">geçerlisimalanı</code> ise bu isim,
      <code class="literal">geçerlisimalanı\altisimalanı\fan</code> olarak çözümlenir. Eğer
      kod küresel ve isim alansız ise, isim <code class="literal">altisimalanı\fan</code>
      olarak çözümlenecektir.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">$a = new \geçerlisimalanı\fan();</code> veya
      <code class="literal">\geçerlisimalanı\fan::statikyöntem();</code> gibi tamamen
      nitelenmiş isim veya küresel önekli bir isim. Bu isim daima kodda
      belirtildiği gibi <code class="literal">geçerlisimalanı\fan</code> olarak çözümlenir.
     </span>
    </li>
   </ol>
  </p>
  <p class="para">
   Üç söz dizimi aşağıda örneklenmiştir:
   <div class="informalexample">
    <p class="simpara">dosya1.php</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">Fan\Fin\altisimalanı</span><span style="color: #007700">;<br /><br />const </span><span style="color: #0000BB">FAN </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />function </span><span style="color: #0000BB">fan</span><span style="color: #007700">() {}<br />class </span><span style="color: #0000BB">fan<br /></span><span style="color: #007700">{<br />    static function </span><span style="color: #0000BB">statikyöntem</span><span style="color: #007700">() {}<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <p class="simpara">dosya2.php</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">Fan\Fin</span><span style="color: #007700">;<br />include </span><span style="color: #DD0000">'dosya1.php'</span><span style="color: #007700">;<br /><br />const </span><span style="color: #0000BB">FAN </span><span style="color: #007700">= </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />function </span><span style="color: #0000BB">fan</span><span style="color: #007700">() {}<br />class </span><span style="color: #0000BB">fan<br /></span><span style="color: #007700">{<br />    static function </span><span style="color: #0000BB">statikyöntem</span><span style="color: #007700">() {}<br />}<br /><br /></span><span style="color: #FF8000">/* Nitelenmemiş isim */<br /></span><span style="color: #0000BB">fan</span><span style="color: #007700">();              </span><span style="color: #FF8000">// Fan\Fin\fan işlevine çözümlenir<br /></span><span style="color: #0000BB">fan</span><span style="color: #007700">::</span><span style="color: #0000BB">statikyöntem</span><span style="color: #007700">(); </span><span style="color: #FF8000">// Fan\Fin\fan sınıfının statikyöntem yöntemine çözümlenir<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">FAN</span><span style="color: #007700">;           </span><span style="color: #FF8000">// Fan\Fin\FAN sabitine çözümlenir<br /><br />/* Nitelenmiş isim */<br /></span><span style="color: #0000BB">altisimalanı\fan</span><span style="color: #007700">(); </span><span style="color: #FF8000">// Fan\Fin\altisimalanı\fan işlevine çözümlenir<br /></span><span style="color: #0000BB">altisimalanı\fan</span><span style="color: #007700">::</span><span style="color: #0000BB">statikyöntem</span><span style="color: #007700">(); </span><span style="color: #FF8000">// Fan\Fin\altisimalanı\fan sınıfının<br />                                 // statikyöntem yöntemine çözümlenir<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">altisimalanı\FAN</span><span style="color: #007700">; </span><span style="color: #FF8000">// Fan\Fin\altisimalanı\FAN sabitine çözümlenir<br /><br />/* Tamamen nitelenmiş isim */<br /></span><span style="color: #0000BB">\Fan\Fin\fan</span><span style="color: #007700">();              </span><span style="color: #FF8000">// Fan\Fin\fan işlevine,<br /></span><span style="color: #0000BB">\Fan\Fin\fan</span><span style="color: #007700">::</span><span style="color: #0000BB">statikyöntem</span><span style="color: #007700">(); </span><span style="color: #FF8000">// Fan\Fin\fan sınıfının statikyöntem yöntemine,<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">\Fan\Fin\FAN</span><span style="color: #007700">;           </span><span style="color: #FF8000">// Fan\Fin\FAN sabitine çözümlenir<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Herhangi bir küresel sınıf, işlev veya sabite
   <span class="function"><a href="function.strlen.php" class="function">\strlen()</a></span>, <span class="classname"><a href="class.exception.php" class="classname">\Exception</a></span> veya
   \<strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong> gibi tamamen nitelenmiş isimleriyle
   erişilebileceğine dikkat ediniz.
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - Küresel sınıf, işlev ve sabitlere bir isim alanı içinden erişim
    </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">Fan</span><span style="color: #007700">;<br /><br />function </span><span style="color: #0000BB">strlen</span><span style="color: #007700">() {}<br />const </span><span style="color: #0000BB">INI_ALL </span><span style="color: #007700">= </span><span style="color: #0000BB">3</span><span style="color: #007700">;<br />class </span><span style="color: #0000BB">Exception </span><span style="color: #007700">{}<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= </span><span style="color: #0000BB">\strlen</span><span style="color: #007700">(</span><span style="color: #DD0000">'merhaba'</span><span style="color: #007700">);      </span><span style="color: #FF8000">// strlen küresel işlevini çağırır<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #0000BB">\INI_ALL</span><span style="color: #007700">;                </span><span style="color: #FF8000">// INI_ALL küresel sabitini çağırır<br /></span><span style="color: #0000BB">$c </span><span style="color: #007700">= new </span><span style="color: #0000BB">\Exception</span><span style="color: #007700">(</span><span style="color: #DD0000">'error'</span><span style="color: #007700">); </span><span style="color: #FF8000">// Exception küresel sınıfını örnekler<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div><?php manual_footer($setup); ?>