tpug            Thu Dec 13 11:22:04 2001 EDT

  Added files:                 
    /phpdoc/tr/language expressions.xml 
  Log:
  complete translation by Alper
  

Index: phpdoc/tr/language/expressions.xml
+++ phpdoc/tr/language/expressions.xml
<?xml version="1.0" encoding="iso-8859-9"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="language.expressions">
  <title>&Idot;fadeler</title>

  <simpara>
   &Idot;fadeler PHP'nin en önemli yap&inodot; ta&scedil;&inodot;d&inodot;r. PHP'de 
yazd&inodot;&gbreve;&inodot;n&inodot;z her&scedil;ey bir
   ifadedir. &Idot;fadelerin en yal&inodot;n fakat en do&gbreve;ru 
anlat&inodot;m&inodot;, "de&gbreve;eri olan
   her &scedil;ey"dir.
  </simpara>

   <simpara>
    &Idot;fadelerin en temel &scedil;ekilleri sabitler ve 
de&gbreve;i&scedil;kenlerdir. "$a = 5"
    yazd&inodot;&gbreve;&inodot;n&inodot;zda, '5'i $a'ya atars&inodot;n&inodot;z. '5', 
kolayl&inodot;kla görüldü&gbreve;ü üzere de&gbreve;er
    olarak 5'tir, ba&scedil;ka deyi&scedil;le '5' de&gbreve;eri 5 olan bir ifadedir 
(bu durumda,
    '5' tam say&inodot; sabittir).
   </simpara>

   <simpara>
    Bu atamadan sonra, $a'n&inodot;n de&gbreve;erinin de 5 olmas&inodot;n&inodot; 
beklersiniz, yani $b =
    $a yazarsan&inodot;z, bunun sanki $b = 5 yazm&inodot;&scedil;s&inodot;n&inodot;z 
gibi çal&inodot;&scedil;mas&inodot;n&inodot; beklersiniz.
    Ba&scedil;ka deyi&scedil;le, $a da de&gbreve;eri 5 olan bir ifadedir. 
Her&scedil;ey yolunda giderse,
    bu kesin hatlar&inodot;yla olu&scedil;acak durumdur.
   </simpara>

   <para>
    &Idot;fadelerin biraz daha karma&scedil;&inodot;k örnekleri 
fonksiyonlard&inodot;r. Örne&gbreve;in, &scedil;u
    fonksiyonlar&inodot; ele alal&inodot;m:

    <informalexample>
     <programlisting role="php">
<![CDATA[
function foo ()
{
    return 5;
}
]]>
     </programlisting>
    </informalexample></para>

   <simpara>
    Fonksiyon kavram&inodot;na a&scedil;ina oldu&gbreve;unuzu varsayarsak (e&gbreve;er 
de&gbreve;ilseniz
    fonksiyonlarla ilgili bölüme bak&inodot;n&inodot;z), <literal>$c = foo()</literal>
    yazd&inodot;&gbreve;&inodot;n&inodot;zda <literal>$c = 5</literal> 
yazm&inodot;&scedil;s&inodot;n&inodot;z gibi olmas&inodot;n&inodot;
    beklersiniz, ve hakl&inodot;s&inodot;n&inodot;z. Fonksiyonlar geri dönü&scedil; 
de&gbreve;erleri de&gbreve;erindeki
    ifadelerdir. foo() 5 döndürdü&gbreve;ü, 'foo()' ifadesinin de&gbreve;eri 5'tir.
    Genellikle fonksiyonlar böyle dura&gbreve;an de&gbreve;erler döndürmek yerine bir 
&scedil;eyleri
    hesaplarlar.
   </simpara>

   <simpara>
    <!-- dirge: floating point => kayan noktal&inodot; -->
    <!-- dirge: composite => bile&scedil;ik -->
    Do&gbreve;al olarak, PHP'deki de&gbreve;erler tam say&inodot; olmak zorunda 
de&gbreve;ildir, ve ço&gbreve;u zaman
    de&gbreve;illerdir. PHP 3 çe&scedil;itli say&inodot;l de&gbreve;erleri destekler: 
tam say&inodot; de&gbreve;erler, kayan
    noktal&inodot; say&inodot;lar, dizgiler (say&inodot;l de&gbreve;erler daha küçük 
parçalara
    'ayr&inodot;&scedil;t&inodot;ramayaca&gbreve;&inodot;n&inodot;z' 
de&gbreve;erlerdir, örne&gbreve;in dizileri ayr&inodot;&scedil;t&inodot;rabilirsiniz).
    PHP ayrica iki çe&scedil;it bile&scedil;ik (say&inodot;l olmayan) de&gbreve;er 
destekler: diziler ve
    nesneler. Bu de&gbreve;er çe&scedil;itlerinin her biri de&gbreve;i&scedil;kenlere 
atanabilir ya da
    fonksiyonlarca döndürülebilir.
   </simpara>

   <simpara>
    Buraya kadar, PHP/FI 2 kullan&inodot;c&inodot;lar&inodot; bir 
de&gbreve;i&scedil;iklik hissetmemi&scedil; olmal&inodot;.
    Halbuki, PHP ifadeleri çok daha ilerilere ta&scedil;&inodot;r, ba&scedil;ka bir 
çok programa
    dilinin yapt&gbreve;&inodot; gibi. PHP ifadelere dayal&inodot; bir dildir, 
her&scedil;eyin bir ifade
    oldu&gbreve;u fikri etraf&inodot;na kurulmu&scedil;tur. Daha önce göz 
att&inodot;&gbreve;&inodot;m&inodot;z örne&gbreve;i ele
    alal&inodot;m, '$a = 5'. Burada iki de&gbreve;erin yer 
ald&inodot;&gbreve;&inodot;n&inodot; görmek kolay, tam say&inodot;
    sabit olan '5'in de&gbreve;eri ve 5' olarak de&gbreve;i&scedil;tirilen 
$a'n&inodot;n de&gbreve;eri. Ama
    gerçek &scedil;u ki burada yer alan bir de&gbreve;er daha var, bu da atama 
i&scedil;leminin
    kendi de&gbreve;eri. Ataman&inodot;n kendisi atanan de&gbreve;eri al&inodot;r, 
burada 5. Gerçek
    hayatta, ne yapt&inodot;&gbreve;&inodot; önemli olmadan, '$a = 5', 5 
de&gbreve;erindeki bir ifadedir.
    Bu sebepten, '$b = ($a = 5)' yazmakla '$a = 5; $b = 5;' yazmak 
ayn&inodot;d&inodot;r
    (noktal&inodot; virgüller ifade sonunu belirtir). Atamalar sa&gbreve;dan sola
    gerçekle&scedil;ti&gbreve;inden, isterseniz '$b = $a = 5' de yazabilirsiniz.
   </simpara>

   <simpara>
    <!-- dirge: pre-increment => ön-art&inodot;r&inodot;m -->
    <!-- dirge: post-increment => son-art&inodot;r&inodot;m -->
    &Idot;fadeye dayal&inodot; olman&inodot;n ba&scedil;ka iyi bir örne&gbreve;i de 
ön- ve son-art&inodot;r&inodot;m ve
    azalt&inodot;md&inodot;r. PHP/FI 2'nin ve ba&scedil;ka pek çok dilin 
kullan&inodot;c&inodot;lar&inodot; de&gbreve;i&scedil;ken++
    ve de&gbreve;i&scedil;ken-- yaz&inodot;m&inodot;na a&scedil;ina olacakt&inodot;r. 
Bunlar art&inodot;r&inodot;m ve azalt&inodot;m
    i&scedil;lemleridir. PHP/FI 2'de, '$a++' bildiriminin hiç bir de&gbreve;eri yoktu 
(ifade
    de&gbreve;ildi), bu sebepten bunu atayamazd&inodot;n&inodot;z veya ba&scedil;ka 
&scedil;ekilde
    kullanamazd&inodot;n&inodot;z. PHP bunlar&inodot;, C'deki gibi, ifadelere çevirerek
    art&inodot;r&inodot;m/azalt&inodot;m kabiliyetlerini geli&scedil;tirdi. PHP'de, 
C'de oldu&gbreve;u gibi, iki
    çe&scedil;it art&inodot;r&inodot;m vard&inodot;r - ön-art&inodot;r&inodot;m ve 
son-art&inodot;r&inodot;m. Hem ön-art&inodot;r&inodot;m hem
    son-art&inodot;r&inodot;m&inodot;n de&gbreve;i&scedil;ken de&gbreve;erini 
art&inodot;rmas&inodot; kesindir, ve de&gbreve;i&scedil;ken üzerindeki
    etkileri birbiriyle ayn&inodot;d&inodot;r. Aralar&inodot;ndaki fark, 
art&inodot;r&inodot;m ifadesinin
    de&gbreve;eridir. '++$de&gbreve;i&scedil;ken' olarak yaz&inodot;lan 
ön-art&inodot;r&inodot;m&inodot;n de&gbreve;eri art&inodot;r&inodot;lan
    de&gbreve;er kadard&inodot;r (PHP de&gbreve;i&scedil;kenin de&gbreve;erini 
okumadan önce art&inodot;r&inodot;r, bu sebepten
    ismi ön-art&inodot;r&inodot;m'd&inodot;r). '$de&gbreve;i&scedil;ken++' olarak 
yaz&inodot;lan son-art&inodot;r&inodot;m&inodot;n de&gbreve;eri
    $de&gbreve;i&scedil;ken'in orijinal de&gbreve;eri kadard&inodot;r, 
art&inodot;r&inodot;lmadan önceki (PHP de&gbreve;i&scedil;kenin
    de&gbreve;erini okuduktan sonra art&inodot;r&inodot;r, bu sebepten ismi 
'son-art&inodot;r&inodot;m'd&inodot;r).
   </simpara>

   <simpara>
    &Idot;fadelerin çok yayg&inodot;n bir biçimi 
kar&scedil;&inodot;la&scedil;t&inodot;rma ifadeleridir. Bu ifadeler,
    &false; ya da &true; anlam&inodot;na gelen 0 ya da 1 de&gbreve;erlerinden birini 
al&inodot;r.
    PHP &gt; (büyüktür), &gt;= (büyük e&scedil;ittir), == (e&scedil;ittir), != 
(e&scedil;it
    de&gbreve;ildir), &lt; (küçüktür), ve &lt;= (küçük e&scedil;ittir) 
kar&scedil;&inodot;la&scedil;t&inodot;rma
    i&scedil;lemlerini destekler. Bu ifadeler genellikle ko&scedil;ullu 
çal&inodot;&scedil;t&inodot;rmalarda
    kullan&inodot;l&inodot;r, örne&gbreve;in <literal>if</literal> bildirimleri gibi.
   </simpara>

   <simpara>
    &Idot;fadelerin burada ele alaca&gbreve;&inodot;m&inodot;z son örne&gbreve;i 
bile&scedil;ik i&scedil;lem-atama ifadeleri.
    $a'y&inodot; 1 art&inodot;rmak istedi&gbreve;inizde basitçe '$a++' ya da '++$a' 
yazaca&gbreve;&inodot;n&inodot;z&inodot;
    biliyorsunuz. Peki ya daha fazla art&inodot;rmak isterseniz, örne&gbreve;in 3 
kadar?
    Birkaç defa '$a++' yazabilirsiniz, fakat bunun etkin ya da konforlu bir
    yöntem olmad&inodot;&gbreve;&inodot; muhakkak. Çok daha yayg&inodot;n bir yöntem 
'$a = $a + 3'
    yazmakt&inodot;r. '$a + 3', $a art&inodot; 3 de&gbreve;erini al&inodot;r, ve $a'ya 
yaz&inodot;l&inodot;r, bu da
    $a'n&inodot;n 3 kadar art&inodot;r&inodot;lmas&inodot; demektir. PHP'de ve C gibi 
daha birçok dilde,
    bunu daha k&inodot;sa bir yolla yazabilirsiniz, zamanla daha aç&inodot;k ve
    anla&scedil;&inodot;labilir olacak bir yolla. $a'n&inodot;n o anki de&gbreve;erine 
3 eklemek  '$a +=
    3' olarak yaz&inodot;labilir. Bu tam olarak &quot;$a'n&inodot;n de&gbreve;erini 
al, buna 3
    ekle, ve tekrar $a'ya yaz&quot; demektir. Daha aç&inodot;k ve 
anla&scedil;&inodot;l&inodot;r olmas&inodot;n&inodot;n
    yan&inodot;nda daha h&inodot;zl&inodot; da çal&inodot;&scedil;&inodot;r. '$a += 
3'ün de&gbreve;eri, s&inodot;radan bir ataman&inodot;n
    de&gbreve;eri gibi, atanan de&gbreve;erdir. Dikkat edin ki bu 3 de&gbreve;ildir, 
$a art&inodot; 3'ün
    birle&scedil;mi&scedil; de&gbreve;eridir ($a'ya atanan de&gbreve;er budur). Her 
iki-parçal&inodot; i&scedil;lem bu
    i&scedil;lem-atama kipinde kullan&inodot;labilir, örne&gbreve;in '$a -= 5' 
($a'n&inodot;n de&gbreve;erinden 5
    eksilt), '$b *= 7' ($b'nin de&gbreve;erini 7 ile çarp), vs.
   </simpara>

   <para>
    <!-- dirge: ternary => ternary -->
    Ba&scedil;ka dillerde görmediyseniz garip gelebilecek bir ifade daha var, ternary
    ko&scedil;ulu i&scedil;lemi:

    <informalexample><programlisting>
<![CDATA[
$ilk ? $ikinci : $üçüncü
]]>
    </programlisting></informalexample>

    E&gbreve;er ilk alt-ifadenin de&gbreve;eri &true; ise (0 de&gbreve;ilse), ikinci 
alt-ifade
    çal&inodot;&scedil;t&inodot;r&inodot;l&inodot;r, ve bu ko&scedil;ullu ifadenin 
sonucudur. De&gbreve;ilse, üçüncü alt-ifade
    çal&inodot;&scedil;t&inodot;r&inodot;l&inodot;r, ve de&gbreve;er budur.
   </para>

   <para>
    A&scedil;a&gbreve;&inodot;daki örnek size, ön- ve son-art&inodot;r&inodot;m 
i&scedil;lemlerini ve ifadeleri genel
    olarak biraz daha iyi anlaman&inodot;zda yard&inodot;mc&inodot; olacakt&inodot;r:

    <informalexample>
     <programlisting role="php">
<![CDATA[
function double($i)
{
    return $i*2;
}
$b = $a = 5;        /* $a ve $b'ye 5 de&gbreve;erini ata */
$c = $a++;          /* son-art&inodot;r, $a'n&inodot;n orjinal de&gbreve;erini (5) 
$c'ye ata */
$e = $d = ++$b;     /* ön-art&inodot;r, $b'nin art&inodot;r&inodot;lm&inodot;&scedil; 
de&gbreve;erini (6) $d ve $e'ye
                       ata */

/* bu noktada $d ve $e 6'ya e&scedil;it */

$f = double($d++);  /* $d'nin iki kat&inodot;n&inodot; art&inodot;r&inodot;mdan 
<emphasis>önce</emphasis>,
                       2*6 = 12, $f'ye ata */
$g = double(++$e);  /* $e'nin iki kat&inodot;n&inodot; art&inodot;r&inodot;mdan 
<emphasis>sonra</emphasis>,
                       2*7 = 14, $g'ye ata */
$h = $g += 10;      /* önce, $g 10 art&inodot;r&inodot;l&inodot;r 24 olur.  Sonra, 
ataman&inodot;n de&gbreve;eri
                       (24) $h'ye atan&inodot;r, ve $h'de 24 olur. */
]]>
     </programlisting>
    </informalexample>
   </para>

   <simpara>
    Bölümün ba&scedil;&inodot;nda çe&scedil;itli bildirimleri 
anlataca&gbreve;&inodot;z demi&scedil;tik, ve söz
    verdi&gbreve;imiz gibi, ifadeler de bildirim olabilir. Fakat, her ifade bir
    bildirim de&gbreve;ildir. Bu durumda, bildirim 'ifade' ';' &scedil;eklindedir, yani
    noktal&inodot; virgülle izlenen bir ifadedir. '$b=$a=5;'te, $a=5 geçerli bir
    ifadedir, fakat kendi ba&scedil;&inodot;na bir bildirim de&gbreve;ildir. Fakat 
'$b=$a=5;',
    geçerli bir bildiridir.
   </simpara>

   <simpara>
    Bahsedilmesi gereken son bir nokta, ifadelerin do&gbreve;rulu&gbreve;udur. Birçok
    olayda, özellikle ko&scedil;ullu çal&inodot;&scedil;t&inodot;r&inodot;mlarda ve 
döngülerde, ifadenin kesin
    de&gbreve;eri ile de&gbreve;il, &true; veya &false; oldu&gbreve;uyla 
ilgilenirsiniz.
    
    <!-- (PHP doesn't have a
    dedicated boolean type) : WRONG, php does. -->
    
    <!-- dirge: type-casting => tür dönü&scedil;ümleri -->
    &true; ve &false; (büyük/küçük harf ayr&inodot;m&inodot; yok) sabitleri, mümkün 
olan iki
    boole de&gbreve;erdir. Gerekli oldu&gbreve;unda bir ifade otomatik olarak boole 
de&gbreve;erine
    çevrilir. Bunun hakk&inodot;nda daha fazla bilgi için <link
     linkend="language.types.typecasting">tür dönü&scedil;ümleri</link> bölümüne
    bak&inodot;n&inodot;z.
   </simpara>
    
   <simpara>
    <!-- dirge: expr => expr -->
    PHP'deki ifade uygulamas&inodot; tam ve çok güçlüdür, ve tamamiyle 
aç&inodot;klanmas&inodot; bu
    el kitab&inodot;n&inodot;n s&inodot;n&inodot;rlar&inodot; 
d&inodot;&scedil;&inodot;ndad&inodot;r. Yukar&inodot;daki örnekler size ifadelerin ne
    oldu&gbreve;u ve i&scedil;e yarar ifadeleri nas&inodot;l 
olu&scedil;turaca&gbreve;&inodot;n&inodot;z konusunda fikir
    vermi&scedil;tir. Bu el kitab&inodot;n&inodot;n içinde her türlü geçerli PHP 
ifadesini
    kastetmek için <replaceable>expr</replaceable> yazaca&gbreve;&inodot;z.
   </simpara>

  </chapter>
 
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Reply via email to