<?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.autoload.php',
    1 => 'Otomatik Y&uuml;klenen Sınıflar',
    2 => 'Otomatik Y&uuml;klenen Sınıflar',
  ),
  'up' => 
  array (
    0 => 'language.oop5.php',
    1 => 'Sınıflar ve Nesneler',
  ),
  'prev' => 
  array (
    0 => 'language.oop5.constants.php',
    1 => 'Sınıf Sabitleri',
  ),
  'next' => 
  array (
    0 => 'language.oop5.decon.php',
    1 => 'Kurucular ve Yıkıcılar',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/oop5/autoload.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.oop5.autoload" class="sect1">
  <h2 class="title">Otomatik Yüklenen Sınıflar</h2>
  <p class="para">
    Nesne-yönelimli uygulama yazan birçok geliştirici, her bir sınıf tanımı
    için ayrı bir PHP kaynak dosyası oluşturmaktadır. Bu kullanımın en can
    sıkıcı noktalarından bir tanesi, betiklerin en tepesinde bir sürü dosyanın
    betiğe dahil edilmesini gerektirmesidir (her bir sınıf için ayrı bir
    dosya).
  </p>
  <p class="para">
    <span class="function"><a href="function.spl-autoload-register.php" class="function">spl_autoload_register()</a></span> işlevi, henüz tanımlanmamışlarsa,
    sınıfların ve arayüzlerin otomatik olarak yüklenmesini sağlayacak
    sayıda otomatik yükleyiciyi kaydeder. Otomatik yükleyicileri
    kaydederek, bir hatayla başarısızlığa uğramadan önce PHP&#039;ye sınıf veya
    arayüzü yüklemek için son bir şans verilir.
  </p>
  <div class="caution"><strong class="caution">Dikkat</strong>
   <p class="para">
    PHP 8.0.0 öncesinde sınıf ve arayüzleri otomatik yüklemek için
    <span class="function"><a href="function.autoload.php" class="function">__autoload()</a></span> işlevini kullanmak mümkündü. Bununla
    birlikte, <span class="function"><a href="function.autoload.php" class="function">__autoload()</a></span> işlevi
    <span class="function"><a href="function.spl-autoload-register.php" class="function">spl_autoload_register()</a></span> işlevinin daha az esnek
    benzeridir ve <span class="function"><a href="function.autoload.php" class="function">__autoload()</a></span> işlevinin kullanılması
    PHP 7.2.0 itibariyle önerilmemekte olup PHP 8.0.0 itibariyle kullanımdan
    kaldırılmıştır.
   </p>
   <p class="para">
    Kurucu benzeri her sınıf aynı yolla otomatik yüklenebilir. Buna sınıflar,
    arayüzler, nitelikler ve sayılamalar dahildir.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    <span class="function"><a href="function.spl-autoload-register.php" class="function">spl_autoload_register()</a></span>, birden çok otomatik yükleyiciyi
    kaydetmek için bir çok kez çağrılabilir. Ancak bir otomatik yükleme
    işlevinden bir istisna yavrulanması, bu işlemi kesintiye uğratır ve diğer
    otomatik yükleme işlevleri çalışamaz. Bu nedenle, bir otomatik yükleme
    işlevinden istisna yavrulanması kesinlikle önerilmez.
   </p>
  </p></blockquote>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - Otomatik yükleme örneği</strong></p>
    <div class="example-contents"><p>
      Bu örnek <code class="literal">MyClass1</code> ve <code class="literal">MyClass2</code>
      sınıflarını yüklemeye çalışmaktadır. Sınıflar aynı isimli
      <var class="filename">MyClass1.php</var> ve <var class="filename">MyClass2.php</var>
      dosyalarının içinde yer almaktadırlar.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />spl_autoload_register</span><span style="color: #007700">(function (</span><span style="color: #0000BB">$class_name</span><span style="color: #007700">) {<br />    include </span><span style="color: #0000BB">$class_name </span><span style="color: #007700">. </span><span style="color: #DD0000">'.php'</span><span style="color: #007700">;<br />});<br /><br /><br /></span><span style="color: #0000BB">$obj  </span><span style="color: #007700">= new </span><span style="color: #0000BB">MyClass1</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$obj2 </span><span style="color: #007700">= new </span><span style="color: #0000BB">MyClass2</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - Başka bir otomatik yükleme örneği</strong></p>
    <div class="example-contents"><p>
     Bu örnek <code class="literal">DenemeA</code> arayüzünü yüklemeye çalışır.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />spl_autoload_register</span><span style="color: #007700">(function (</span><span style="color: #0000BB">$name</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$isim</span><span style="color: #007700">);<br />});<br /><br />class </span><span style="color: #0000BB">Fan </span><span style="color: #007700">implements </span><span style="color: #0000BB">DenemeA </span><span style="color: #007700">{<br />}<br /><br /></span><span style="color: #FF8000">/*<br />string(5) "DenemeA"<br /><br />Fatal error: Interface 'DenemeA' not found in ...<br />*/<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>

  <div class="simplesect">
   <h3 class="title">Ayrıca Bakınız</h3>
   <ul class="simplelist">
    <li><span class="function"><a href="function.unserialize.php" class="function">unserialize()</a></span></li>
    <li><a href="var.configuration.php#ini.unserialize-callback-func" class="link">
        unserialize_callback_func</a></li>
    <li><a href="var.configuration.php#ini.unserialize-max-depth" class="link">unserialize_max_depth</a></li>
    <li><span class="function"><a href="function.spl-autoload-register.php" class="function">spl_autoload_register()</a></span></li>
    <li><span class="function"><a href="function.spl-autoload.php" class="function">spl_autoload()</a></span></li>
    <li><span class="function"><a href="function.autoload.php" class="function">__autoload()</a></span></li>
   </ul>
  </div>

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