<?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.dynamic.php',
    1 => 'İsim alanları ve dinamik dil &ouml;zellikleri',
    2 => 'İsim alanları ve dinamik dil &ouml;zellikleri',
  ),
  'up' => 
  array (
    0 => 'language.namespaces.php',
    1 => 'İsim Alanları',
  ),
  'prev' => 
  array (
    0 => 'language.namespaces.basics.php',
    1 => 'Temeller',
  ),
  'next' => 
  array (
    0 => 'language.namespaces.nsconstants.php',
    1 => 'namespace s&ouml;zc&uuml;ğ&uuml; ve __NAMESPACE__',
  ),
  '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.dynamic" class="sect1">
  <h2 class="title">İsim alanları ve dinamik dil özellikleri</h2>
  
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8)</p>
  <p class="para">
   PHP&#039;nin isim alanları gerçeklenimi bir programlama dili olarak PHP&#039;nin
   kendi dinamik doğasından etkilenir. Örnek olarak aşağıdaki kodu isim
   alanlı koda dönüştürmek istersek:
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - Dinamik olarak erişilen elemanlar</strong></p>
    <div class="example-contents"><p>örnek1.php:</p></div>
    <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">sınıfadı<br /></span><span style="color: #007700">{<br />    function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">()<br />    {<br />        echo </span><span style="color: #0000BB">__METHOD__</span><span style="color: #007700">,</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    }<br />}<br />function </span><span style="color: #0000BB">işlevadı</span><span style="color: #007700">()<br />{<br />    echo </span><span style="color: #0000BB">__FUNCTION__</span><span style="color: #007700">,</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br />const </span><span style="color: #0000BB">sabitadı </span><span style="color: #007700">= </span><span style="color: #DD0000">"küresel"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= </span><span style="color: #DD0000">'sınıfadı'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$obj </span><span style="color: #007700">= new </span><span style="color: #0000BB">$a</span><span style="color: #007700">;                   </span><span style="color: #FF8000">// sınıfadı::__construct basar<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #DD0000">'işlevadı'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$b</span><span style="color: #007700">();                            </span><span style="color: #FF8000">// işlevadı basar<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">'sabitadı'</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// küresel basar<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   Tamamen nitelenmiş isim kullanmak gerekir (isim alanı önekli sınıf adı).
   Bir dinamik sınıf, işlev veya sabit ismi içinde bir nitelenmiş isim ile
   tamamen nitelenmiş isim arasında bir fark olmadığından baştaki ters
   bölünün gereksiz oluşuna dikkat edin.
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - Dinamik olarak erişilen isim alanlı elemanlar</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">isimalanıadı</span><span style="color: #007700">;<br />class </span><span style="color: #0000BB">sınıfadı<br /></span><span style="color: #007700">{<br />    function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">()<br />    {<br />        echo </span><span style="color: #0000BB">__METHOD__</span><span style="color: #007700">,</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    }<br />}<br />function </span><span style="color: #0000BB">işlevadı</span><span style="color: #007700">()<br />{<br />    echo </span><span style="color: #0000BB">__FUNCTION__</span><span style="color: #007700">,</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br />const </span><span style="color: #0000BB">sabitadı </span><span style="color: #007700">= </span><span style="color: #DD0000">"isimalanlı"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">/* çift tırnakları kullanacaksanız, "\\isimalanıadı\\sınıfadı"<br />   biçiminde olmalıdır */<br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= </span><span style="color: #DD0000">'\isimalanıadı\sınıfadı'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$obj </span><span style="color: #007700">= new </span><span style="color: #0000BB">$a</span><span style="color: #007700">; </span><span style="color: #FF8000">// isimalanıadı\sınıfadı::__construct basar<br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= </span><span style="color: #DD0000">'isimalanıadı\sınıfadı'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$obj </span><span style="color: #007700">= new </span><span style="color: #0000BB">$a</span><span style="color: #007700">; </span><span style="color: #FF8000">// bu da isimalanıadı\sınıfadı::__construct basar<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #DD0000">'isimalanıadı\işlevadı'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$b</span><span style="color: #007700">(); </span><span style="color: #FF8000">// isimalanıadı\işlevadı basar<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #DD0000">'\isimalanıadı\işlevadı'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$b</span><span style="color: #007700">(); </span><span style="color: #FF8000">//bu da isimalanıadı\işlevadı basan<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">'\isimalanıadı\sabitadı'</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// isimalanlı basar<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">'isimalanıadı\sabitadı'</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// bu da isimalanlı basar<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   SSS arasındaki <a href="language.namespaces.faq.php#language.namespaces.faq.quote" class="link">Dizgelerdeki
   isim alanı adlarının öncelenmesi</a>  konusuna da bakmayı unutmayın.
  </p>
 </div><?php manual_footer($setup); ?>