<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.var.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.unserialize.php',
    1 => 'unserialize',
    2 => 'Bir PHP değerini saklanmış g&ouml;steriminden oluşturur',
  ),
  'up' => 
  array (
    0 => 'ref.var.php',
    1 => 'Değişkenlerle ilgili işlevler',
  ),
  'prev' => 
  array (
    0 => 'function.strval.php',
    1 => 'strval',
  ),
  'next' => 
  array (
    0 => 'function.unset.php',
    1 => 'unset',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'reference/var/functions/unserialize.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.unserialize" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">unserialize</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">unserialize</span> &mdash; <span class="dc-title">Bir PHP değerini saklanmış gösteriminden oluşturur
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.unserialize-description">
  <h3 class="title">Açıklama</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>unserialize</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$veri</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$seçenekler</code><span class="initializer"> = []</span></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>


  <p class="simpara">
   <span class="function"><strong>unserialize()</strong></span> işlevi tek bir dizgeleştirilmiş değişken
   alır ve bunu tekrar bir PHP değeri haline getirir.
  </p>
  <div class="warning"><strong class="warning">Uyarı</strong>
   <p class="para">
    <code class="literal">allowed_classes</code> seçeneğine bakmaksızın işleve
    güvenilmeyen kullanıcı girdisini aktarmayın. Nesneleştirme, nesne
    örnekleme ve otomatik yükleme nedeniyle kodun yüklenmesine ve
    yürütülmesine neden olabilir ve kötü niyetli bir kullanıcı bundan
    yararlanabilir. Kullanıcıya dizeleştirilmiş verileri iletmeniz
    gerekiyorsa JSON (<span class="function"><a href="function.json-decode.php" class="function">json_decode()</a></span> ve
    <span class="function"><a href="function.json-encode.php" class="function">json_encode()</a></span>) aracılığıyla) gibi güvenli,
    standart bir veri değişim biçimi kullanın.
   </p>
   <p class="para">
    Harici olarak depolanan dizeleştirilmiş verileri nesneleştirmek gerekirse,
    veri doğrulama için <span class="function"><a href="function.hash-hmac.php" class="function">hash_hmac()</a></span> kullanımı düşünülebilir.
    Verilerin sizden başka hiç kimse tarafından değiştirilmediğinden emin olun.
   </p>
  </div>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.unserialize-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
   <dl>
    
     <dt><code class="parameter">veri</code></dt>
     <dd>
      <p class="para">
       Dizeleştirilmiş değer.
      </p>
      <p class="para">
       Dizeleştirilmiş bir değişkeni bir nesne haline getirmeye çalışırsanız
       PHP nesneyi oluşturduktan sonra otomatik olarak
       <a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a> veya
       <a href="language.oop5.magic.php#object.wakeup" class="link">__wakeup()</a> üye işlevini (varsa)
       çağıracaktır.
      </p>
       <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
        <strong><a href="var.configuration.php#ini.unserialize-callback-func" class="link">
        unserialize_callback_func</a> yönergesi</strong><br />
        <p class="para">
         <a href="var.configuration.php#ini.unserialize-callback-func" class="link">unserialize_callback_func</a>
         yönergesinde belirtilen geriçağırım işlevi tanımsız bir sınıfın
         dizgeleştirmesi kaldırılırken çağrılır. Geriçağırım işlevi
         belirtilmezse, nesne <span class="classname"><a href="class.php-incomplete-class.php" class="classname">__PHP_Incomplete_Class</a></span>
         olarak örneklenir.
        </p>
       </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">seçenekler</code></dt>
     <dd>
      <p class="para">
       <span class="function"><strong>unserialize()</strong></span> işlevine aktarılacacak seçenekleri
       içeren ilişkisel bir dizi.
      </p>
      <table class="doctable table">
       <caption><strong>Geçerli seçenekler</strong></caption>
       
        <thead>
         <tr>
          <th>İsim</th>
          <th>Tür</th>
          <th>Açıklama</th>
         </tr>

        </thead>

        <tbody class="tbody">
         <tr>
          <td><code class="literal">allowed_classes</code></td>
          <td><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></td>
          <td>
           <span class="simpara">
            Üç değerdem biri: Kabul edilmesi gereken sınıf isimleri dizisi,
            hiçbir sınıfı kabul etmemek için <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> ya da tüm sınıfları
            kabul etmek için <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>. Bu seçenek tanımlanırsa ve
            <span class="function"><strong>unserialize()</strong></span>), kabul edilmeyen bir sınıfla
            karşılaşırsa, bu sınıf yerine
            <span class="classname"><a href="class.php-incomplete-class.php" class="classname">__PHP_Incomplete_Class</a></span> örneklenecektir.
           </span>
           <span class="simpara">
            Bu seçeneğin atlanması, onu <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> olarak tanımlamakla aynıdır:
            PHP, belirtilen sınıfları örneklemeye çalışır.
           </span>
          </td>
         </tr>

         <tr>
          <td><code class="literal">max_depth</code></td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <span class="simpara">
            Nesneleştirme sırasında izin verilen veri yapılarının azami
            derinliği olup yığıt taşmalarını engellemek için tasarlanmıştır.
            Öntanımlı derinlik sınırı <code class="literal">4096</code> olup
            <code class="literal">max_depth</code>&#039;e <code class="literal">0</code> atanarak
            devre dışı bırakılabilir.
           </span>
          </td>
         </tr>

        </tbody>
       
      </table>

     </dd>
    
   </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.unserialize-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   Dönüştürülerek döndürülen değer <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>,
   <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>, <span class="type"><a href="language.types.float.php" class="type float">float</a></span>, <span class="type"><a href="language.types.string.php" class="type string">string</a></span>,
   <span class="type"><a href="language.types.array.php" class="type array">array</a></span> veya <span class="type"><a href="language.types.object.php" class="type object">object</a></span> türünde olabilir.
  </p>
  <p class="para">
   Nesneleştirilemeyen bir dizge belirtilmesi durumunda işlev <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürür
   ve bir <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> çıktılar.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.unserialize-errors">
  <h3 class="title">Hatalar/İstisnalar</h3>
  <p class="para">
   Nesneler, kendi nesneleştirme işleyicilerinde <span class="classname"><a href="class.throwable.php" class="classname">Throwable</a></span>
   yavrulayabilir.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.unserialize-changelog">
  <h3 class="title">Sürüm Bilgisi</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Sürüm: </th>
       <th>Açıklama</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.3.0</td>
       <td>
        Nesneleştirilemeyen bir dizge belirtilmesi durumunda artık bir
        <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> üretiliyor. Evvelce
        <strong><code><a href="errorfunc.constants.php#constant.e-notice">E_NOTICE</a></code></strong> üretilirdi.
       </td>
      </tr>

      <tr>
       <td>7.4.0</td>
       <td>
        Nesneleştirme sırasında izin verilen yapıların azami derinliğini
        ayarlamak için <code class="parameter">seçenekler</code> bağımsız
        değişkenine <code class="literal">max_depth</code> öğesi eklendi.
       </td>
      </tr>

      <tr>
       <td>7.1.0</td>
       <td>
        <code class="literal">allowed_classes</code> seçeneği artık katı türde, yani
        <span class="type"><a href="language.types.array.php" class="type array">array</a></span> veya <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> türü dışında bir değer
        aktarılırsa <span class="function"><strong>unserialize()</strong></span> işlevi <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürür ve
        bir <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> oluşturur.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.unserialize-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - <span class="function"><strong>unserialize()</strong></span> ö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: #FF8000">// Burada, oturum verisini $session_data dizisine yüklemek<br />// için bir veritabanından seçilmiş bir dizgeyi nesneleştireceğiz<br />// Bu örnek serialize() işlevi örneğinin tamamlayıcısıdır.<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"webdb"</span><span style="color: #007700">, </span><span style="color: #DD0000">"php"</span><span style="color: #007700">, </span><span style="color: #DD0000">"chicken"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">odbc_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT data FROM sessions WHERE id = ?"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$sqldata </span><span style="color: #007700">= array(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'PHP_AUTH_USER'</span><span style="color: #007700">]);<br />if (!</span><span style="color: #0000BB">odbc_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">, </span><span style="color: #0000BB">$sqldata</span><span style="color: #007700">) || !</span><span style="color: #0000BB">odbc_fetch_into</span><span style="color: #007700">(</span><span style="color: #0000BB">$stmt</span><span style="color: #007700">, </span><span style="color: #0000BB">$tmp</span><span style="color: #007700">)) {<br />    </span><span style="color: #FF8000">// çalıştırma veya alım başarısız olursa boş bir dizi ilklendireceğiz<br />    </span><span style="color: #0000BB">$session_data </span><span style="color: #007700">= array();<br />} else {<br />    </span><span style="color: #FF8000">// artık dizgeleştirilmiş veri $tmp[0] içinde.<br />    </span><span style="color: #0000BB">$session_data </span><span style="color: #007700">= </span><span style="color: #0000BB">unserialize</span><span style="color: #007700">(</span><span style="color: #0000BB">$tmp</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]);<br />    if (!</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$session_data</span><span style="color: #007700">)) {<br />        </span><span style="color: #FF8000">// birşeyler yanlış gitmiş, boş bir dizi ilklendirelim<br />        </span><span style="color: #0000BB">$session_data </span><span style="color: #007700">= array();<br />    }<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - <a href="var.configuration.php#unserialize-callback-func" class="link">
        unserialize_callback_func</a> örneği</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$serialized_object</span><span style="color: #007700">=</span><span style="color: #DD0000">'O:1:"a":1:{s:5:"value";s:3:"100";}'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// kendi geriçağırım işlevimizi belirtelim<br /></span><span style="color: #0000BB">ini_set</span><span style="color: #007700">(</span><span style="color: #DD0000">'unserialize_callback_func'</span><span style="color: #007700">, </span><span style="color: #DD0000">'mycallback'</span><span style="color: #007700">);<br /><br />function </span><span style="color: #0000BB">mycallback</span><span style="color: #007700">(</span><span style="color: #0000BB">$classname</span><span style="color: #007700">)<br />{<br />    </span><span style="color: #FF8000">// Sınıf tanımınızı içeren bir dosyayı dahil etmeniz yeterlidir<br />    // Hangi sınıf tanımının gerçekleneceğini $classname değişkenine<br />    // bakarak saptayacaksınız<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.unserialize-notes">
  <h3 class="title">Notlar</h3>
  <div class="warning"><strong class="warning">Uyarı</strong>
   <p class="para">
    Hata durumunda veya dizgeleştirilmiş bir <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> değerini nesneleştirmeye
    çalışıyorsanız işlev <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürür. Bu özel durumu
    <code class="parameter">veri</code> bağımsız değişkenini
    <code class="literal">serialize(false)</code> ile karşılaştırarak veya
    <strong><code><a href="errorfunc.constants.php#constant.e-notice">E_NOTICE</a></code></strong> çıktısını inceleyerek yakalayabilirsiniz.
   </p>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.unserialize-seealso">
  <h3 class="title">Ayrıca Bakınız</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.json-encode.php" class="function" rel="rdfs-seeAlso">json_encode()</a> - Değerin JSON karşılığını verir.</span></li>
    <li><span class="function"><a href="function.json-decode.php" class="function" rel="rdfs-seeAlso">json_decode()</a> - Bir JSON dizgesini &ccedil;&ouml;z&uuml;mler</span></li>
    <li><span class="function"><a href="function.hash-hmac.php" class="function" rel="rdfs-seeAlso">hash_hmac()</a> - HMAC y&ouml;ntemini kullanarak bir anahtarlı ileti aşı &uuml;retir</span></li>
    <li><span class="function"><a href="function.serialize.php" class="function" rel="rdfs-seeAlso">serialize()</a> - Bir değerin saklanabilir bir g&ouml;sterimini &uuml;retir</span></li>
    <li><a href="language.oop5.autoload.php" class="link">Otomatik Yüklenen
    Sınıflar</a></li>
    <li><a href="var.configuration.php#ini.unserialize-callback-func" class="link">unserialize_callback_func</a></li>
    <li><a href="language.oop5.magic.php#object.wakeup" class="link">__wakeup()</a></li>
    <li><a href="language.oop5.magic.php#object.serialize" class="link">__serialize()</a></li>
    <li><a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a></li>
   </ul>
  </p>
 </div>


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