<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/tutorial.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'tutorial.useful.php',
    1 => 'İşe yarar bir şey',
    2 => 'İşe yarar bir şey',
  ),
  'up' => 
  array (
    0 => 'tutorial.php',
    1 => 'Basit bir eğitmen',
  ),
  'prev' => 
  array (
    0 => 'tutorial.firstpage.php',
    1 => 'İlk PHP-etkin sayfa',
  ),
  'next' => 
  array (
    0 => 'tutorial.forms.php',
    1 => 'Form Kullanımı',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'chapters/tutorial.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="tutorial.useful" class="section">
   <h2 class="title">İşe yarar bir şey</h2>
   <p class="para">
    Bu kez kod daha işe yarar bir şey yapsın. Ziyaretçinin hangi tarayıcıyı
    kullandığı tespit edilebilir. Bunun için, ziyaretçinin tarayıcısı
    tarafından HTTP isteği ile birlikte gönderilen kullanıcı aracısı
    dizgesine bakılır. Bu bilgi bir
    <a href="language.variables.php" class="link">değişkende</a> saklanır. Değişkenler
    PHP&#039;de her zaman dolar imi ile başlar. Şu an için ilgilenilen değişken
    <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER['HTTP_USER_AGENT']</a></var>&#039;tir.
   </p>
   <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
    <p class="para">
     <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER</a></var> PHP kullanımına ayrılmış özel bir değişken
     olup HTTP sunucusunun tüm bilgilerini içerir. Bu tür değişkenlere süper
     küreseller denir. Bu konuda daha ayrıntılı bilgi <a href="language.variables.superglobals.php" class="link">Süper Küreseller</a>
     bölümünde bulunabilir.
    </p>
   </p></blockquote>
   <p class="para">
    Bu değişkenin değerinin görüntülenmesi için yapılacaklar:
   </p>
   <p class="para">
    <div class="example" id="example-1">
    <p><strong>Örnek 1 - Bir değişkeni (dizi öğesini) yazdırmak</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php </span><span style="color: #007700">echo </span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_USER_AGENT'</span><span style="color: #007700">]; </span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
      Bu betiğin çıktısı şöyle bir dizge olabilirdi:
    </p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Mozilla/5.0 (Linux) Firefox/112.0
</pre></div>
    </div>
   </div>
   </p>
   <p class="para">
    PHP&#039;de birçok farklı değişken <a href="language.types.php" class="link">türü</a>
    mevcuttur. Yukardaki örnekte bir
    <a href="language.types.array.php" class="link">dizi</a>ye ait bir öğe yazdırıldı.
    Diziler çok daha kullanışlı olabilir.
   </p>
   <p class="para">
    <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER</a></var> PHP tarafından kullanıma otomatik
    olarak sunulan bir değişkendir. Kullanım kılavuzunun
    <a href="reserved.variables.php" class="link">Öntanımlı Değişkenler</a>
    bölümünden tümünün listesine ulaşılabilir ya da önceki örnekte
    kullanılan <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> işlevi ile üretilen çıktıya
    bakarak bütün listeye ulaşılabilir.
   </p>
   <p class="para">
    PHP etiketinin içine birden çok PHP komutu konabilir ve tek bir echo
    komutundan daha fazlasını yapan küçük kodlar oluşturulabilir.
    Örneğin, ziyaretçin Firefox kullanıp kullanmadığı şöyle saptanabilir:
   </p>
   <p class="para">
    <div class="example" id="example-2">
     <p><strong>Örnek 2 - <a href="language.control-structures.php" class="link">Denetim yapılarının
     </a> ve <a href="language.functions.php" class="link">işlevlerin</a> kullanım
     ö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: #007700">if (</span><span style="color: #0000BB">str_contains</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_USER_AGENT'</span><span style="color: #007700">], </span><span style="color: #DD0000">'Firefox'</span><span style="color: #007700">)) {<br />    echo </span><span style="color: #DD0000">'Firefox kullanıldığı saptandı'</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     <div class="example-contents"><p>
      Bu betiğin çıktısı şöyle olabilirdi:
     </p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
Firefox kullanıldığı saptandı.
</pre></div>
     </div>
    </div>
   </p>
   <p class="para">
    Burada birkaç yeni kavram devreye sokuldu. Örneğin, <a href="control-structures.if.php" class="link">if</a> deyimi; C dilinde
    kullanılan temel sözdizimine aşinalık varsa, bu kullanım tanıdık
    gelecektir. Aksi takdirde, giriş düzeyinde bir PHP kitabı edinilmesi ve ilk
    birkaç bölümünün okunması ya da kılavuzun <a href="langref.php" class="link">Dil
    Başvuru Kılavuzu</a> bölümünün okunması faydalı olacaktır.
   </p>
   <p class="para">
    Devreye sokulan ikinci kavram, <span class="function"><a href="function.str-contains.php" class="function">str_contains()</a></span> işlevi ile
    yapılan çağrı oldu. <span class="function"><a href="function.str-contains.php" class="function">str_contains()</a></span>, bir dizgeyi başka bir
    dizgenin içinde arayan yerleşik bir PHP işlevidir. Burada
    <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER['HTTP_USER_AGENT']</a></var> içinde (samanlık)
    <code class="literal">&#039;Firefox&#039;</code> dizgesi (iğne) aranıyor. İğne samanlıkta
    bulunursa <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, aksi takdirde <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döner.
    <a href="control-structures.if.php" class="link">if</a> ifadesinin sonucu
    <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> olduğu takdirde kaşlı ayraçlar arasındaki kod
    çalıştırılır. Aksi takdirde kod çalıştırılmaz. <a href="control-structures.if.php" class="link">If</a>, <a href="control-structures.else.php" class="link">else</a> gibi denetim yapıları ile
    <span class="function"><a href="function.strtoupper.php" class="function">strtoupper()</a></span> ve <span class="function"><a href="function.strlen.php" class="function">strlen()</a></span> gibi
    işlevler kullanılarak benzer örnekler yazılabilir. İlgili her
    kılavuz sayfası aynı zamanda örnekler de içermektedir. Bu işlevlerin nasıl
    kullanması gerektiğinden emin olunamıyorsa, kılavuzdaki <a href="about.prototypes.php" class="link">bir işlev tanımı nasıl okunur</a> ve <a href="language.functions.php" class="link">PHP işlevleri</a> bölümleri
    okunabilir.
   </p>
   <p class="para">
    Bu bir adım öteye taşınabilir ve bir PHP kodunun tam ortasındayken
    bile HTML kipine nasıl girilip çıkılabileceği gösterilebilir:
   </p>
   <p class="para">
    <div class="example" id="example-3">
     <p><strong>Örnek 3 - HTML ve PHP kiplerini karıştırmak</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">if (</span><span style="color: #0000BB">str_contains</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_USER_AGENT'</span><span style="color: #007700">], </span><span style="color: #DD0000">'Firefox'</span><span style="color: #007700">)) {<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;h3&gt;str_contains() false döndürmemiş olmalı&lt;/h3&gt;<br />&lt;p&gt;Firefox kullanıldığı saptandı.&lt;/p&gt;<br /><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">} else {<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;h3&gt;str_contains() false döndürmüş olmalı&lt;/h3&gt;<br />&lt;p&gt;Firefox kullanılmadığı saptandı.&lt;/p&gt;<br /><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     <div class="example-contents"><p>
      Bu betikten elde edilebilecek sonuçlardan biri:
     </p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
&lt;h3&gt;str_contains() false döndürmemiş olmalı&lt;/h3&gt;
&lt;p&gt;Firefox kullanıldığı saptandı.&lt;/p&gt;
</pre></div>
     </div>
    </div>
   </p>
   <p class="para">
    Bir çıktı üretmek için PHP echo komutunu kullanmak yerine, PHP kipinden
    çıkıldı ve düz HTML gönderildi. Burada dikkat edilmesi gereken önemli
    nokta, betiğin mantıksal akışının değişmiyor olmasıdır.
    <span class="function"><a href="function.str-contains.php" class="function">str_contains()</a></span> işlevinden edinilen sonuca göre HTML kod
    çiftlerinden yalnızca biri görüntüleyiciye gönderilmektedir. Başka bir
    deyişle, bu işleyiş <code class="literal">Firefox</code> dizgesinin bulunup
    bulunmamasına bağlıdır.
   </p>
  </div><?php manual_footer($setup); ?>