svn: /phpdoc/tr/trunk/language/oop5/ constants.xml decon.xml final.xml interfaces.xml iterations.xml

[email protected] (Nilgün Belma Bugüner)
Newsgroups php.doc.tr
Message-ID <[email protected]>
nilgun                                   Wed, 10 Oct 2018 07:00:36 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=345798

Log:
update for sync with English docs.

Changed paths:
    U   phpdoc/tr/trunk/language/oop5/constants.xml
    U   phpdoc/tr/trunk/language/oop5/decon.xml
    U   phpdoc/tr/trunk/language/oop5/final.xml
    U   phpdoc/tr/trunk/language/oop5/interfaces.xml
    U   phpdoc/tr/trunk/language/oop5/iterations.xml
svn-diffs-345798.txt (text/x-diff, 18.7 KB)
Modified: phpdoc/tr/trunk/language/oop5/constants.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/constants.xml	2018-10-08 13:02:51 UTC (rev 345797)
+++ phpdoc/tr/trunk/language/oop5/constants.xml	2018-10-10 07:00:36 UTC (rev 345798)
@@ -1,28 +1,35 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 345616 Maintainer: nilgun Status: ready -->
 <!-- CREDITS: tpug, sezer -->
  <sect1 xml:id="language.oop5.constants" xmlns="http://docbook.org/ns/docbook">
   <title>Sınıf Sabitleri</title>
   <para>
-    Sabitlerin her sınıf için ayrı ayrı tanımlanabilmesi mümkündür. Sabitler
-    diğer değişkenlerden tanımlanmaları ve kullanılmaları sırasında başlarına
-    getirilmeyen <varname>$</varname> imi sayesinde ayrılırlar.
+   Sabitlerin her sınıf için ayrı ayrı tanımlanabilmesi mümkündür. Sabitler
+   diğer değişkenlerden tanımlanmaları ve kullanılmaları sırasında başlarına
+   getirilmeyen <varname>$</varname> imi sayesinde ayrılırlar.
+   Sabit sınıflarının öntanımlı görünülüğü <literal>public</literal>'tir.
   </para>
   <para>
-    Değer, örneğin, bir değişken, bir sınıf özelliği, bir matematiksel işlemin
-    sonucu veya bir işlev çağrısı değil, bir <literal>sabit</literal> ifade
-    olmalıdır.
+   Değer, örneğin, bir değişken, bir sınıf özelliği, bir matematiksel işlemin
+   sonucu veya bir işlev çağrısı değil, bir <literal>sabit</literal> ifade
+   olmalıdır.
   </para>
   <para>
-    Ayrıca, sınıf arayüzlerinin de kendi sabitlerinin olması mümkündür.
-    Örnekler için <link linkend="language.oop5.interfaces">Nesne
-    Arayüzleri</link> belgesine bakınız.
+   Ayrıca, sınıf arayüzlerinin de kendi sabitlerinin olması mümkündür.
+   Örnekler için <link linkend="language.oop5.interfaces">Nesne
+   Arayüzleri</link> belgesine bakınız.
   </para>
   <para>
-    PHP 5.3.0&apos;dan itibaren, bir sınıfa bir değişken kullanarak atıfta bulunmak mümkündür. Değişkenin değeri, <literal>self</literal>,
-   <literal>parent</literal>, <literal>static</literal> gibi bir anahtar sözcük olamaz.
+   PHP 5.3.0&apos;dan itibaren, bir sınıfa bir değişken kullanarak atıfta bulunmak
+   mümkündür. Değişkenin değeri, <literal>self</literal>,
+   <literal>parent</literal>, <literal>static</literal> gibi bir anahtar sözcük
+   olamaz.
   </para>
+  <para>
+   Sınıf sabitlerinin her sınıf örneği için değil her sınıf için bir kere
+   ayrıldığını unutmayın.
+  </para>
   <example>
    <title> - Bir sabitin tanımlanması ve kullanımı</title>
    <programlisting role="php">
@@ -30,10 +37,10 @@
 <?php
 class MyClass
 {
-    const constant = 'sabit değer';
+    const CONSTANT = 'sabit değer';

     function showConstant() {
-        echo  self::constant . "\n";
+        echo  self::CONSTANT . "\n";
     }
 }

@@ -40,12 +47,12 @@
 echo MyClass::constant . "\n";

 $classname = "MyClass";
-echo $classname::constant . "\n"; // PHP 5.3.0'dan itibaren
+echo $classname::CONSTANT . "\n"; // PHP 5.3.0'dan itibaren

 $class = new MyClass();
 $class->showConstant();

-echo $class::constant."\n"; // PHP 5.3.0'dan itibaren
+echo $class::CONSTANT."\n"; // PHP 5.3.0'dan itibaren
 ?>
 ]]>
    </programlisting>
@@ -58,26 +65,101 @@
 <?php
 class foo {
     // PHP 5.3.0'dan itibaren
-    const bar = <<<'EOT'
+    const BAR = <<<'EOT'
 bar
 EOT;
+    // PHP 5.3.0'dan itibaren
+    const BAZ = <<<EOT
+baz
+EOT;
 }
 ?>
 ]]>
    </programlisting>
-   <para>
-    Duruk veri bağlamında yorumlanan çok satırlı metinler değil
-    (heredoc), yorumlanmayan çok satırlı metinler (nowdoc)
-    kullanılabilir.
-   </para>
   </example>
   <note>
    <para>
-    <link linkend="language.types.string.syntax.nowdoc">Yorumlanmayan çok
-    satırlı metin (nowdoc)</link> desteği 5.3.0&apos;da
-    eklenmiştir.
+    Duruk veri bağlamında yorumlanan çok satırlı metinler (heredoc) ve
+    yorumlanmayan çok satırlı metinlerle (nowdoc) ssbitlerin ilklendirilmesi
+    desteği desteği 5.3.0'da eklenmiştir.
    </para>
   </note>
+  <para>
+    Özel <constant>::class</constant> sabiti desteği 5.5.0'da eklenmiş olup,
+    derleme sırasında tamamen nitelenmiş sınıf ismi çözünürlüğü mümkün
+    kılınmıştır ve isim alanlı sınıflar için kulllanışlıdır:
+  </para>
+ <example>
+  <title>- İsim alanlı ::class örneği</title>
+  <programlisting role="php">
+<![CDATA[
+<?php
+namespace foo {
+    class bar {
+    }
+
+    echo bar::class; // foo\bar
+}
+?>
+]]>
+  </programlisting>
+ </example>
+ <example>
+  <title>Sabit ifadesi örneği</title>
+  <programlisting role="php">
+<![CDATA[
+<?php
+const BİR = 1;
+
+class foo {
+    // PHP 5.6.0 ve sonrası
+    const İKİ = BİR * 2;
+    const ÜÇ = BİR + self::İKİ;
+    const CÜMLE = 'ÜÇ için değer: '.self::THREE;
+}
+?>
+]]>
+  </programlisting>
+  <para>
+   Bir sınıf sabiti bağlamında sayısal ve dize sabitlerini ve/veya sabitleri
+   içeren bir sayısal ifade sağlamak mümkündür.
+  </para>
+ </example>
+ <note>
+  <para>
+   Sabit ifadesi desteği PHP 5.6.0'da eklendi.
+  </para>
+ </note>
+
+ <example>
+  <title>- Sınıf sabiti görünürlük değiştiricileri</title>
+  <programlisting role="php">
+<![CDATA[
+<?php
+class Foo {
+    // PHP 7.1.0 ve sonrası
+    public const BAR = 'bar';
+    private const BAZ = 'baz';
+}
+echo Foo::BAR, PHP_EOL;
+echo Foo::BAZ, PHP_EOL;
+?>
+]]>
+  </programlisting>
+   &example.outputs.71;
+   <screen>
+<![CDATA[
+bar
+
+Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …
+]]>
+   </screen>
+ </example>
+ <note>
+  <para>
+   Sınıf sabitlerinde görünürlük değiştiricileri desteği PHP 7.1.0'da eklendi.
+  </para>
+ </note>
  </sect1>

 <!-- Keep this comment at the end of the file

Modified: phpdoc/tr/trunk/language/oop5/decon.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/decon.xml	2018-10-08 13:02:51 UTC (rev 345797)
+++ phpdoc/tr/trunk/language/oop5/decon.xml	2018-10-10 07:00:36 UTC (rev 345798)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 322134 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 345581 Maintainer: nilgun Status: ready -->
 <!-- CREDITS: tpug, sezer -->
  <sect1 xml:id="language.oop5.decon" xmlns="http://docbook.org/ns/docbook">
   <title>Kurucular ve Yıkıcılar</title>
@@ -9,7 +9,7 @@
    <title>Kurucular</title>
    <methodsynopsis xml:id="object.construct">
     <type>void</type><methodname>__construct</methodname>
-    <methodparam choice="opt"><type>mixed</type><parameter>değiştirge</parameter></methodparam>
+    <methodparam choice="opt"><type>mixed</type><parameter>değiştirge</parameter><initializer>""</initializer></methodparam>
     <methodparam choice="opt"><parameter>...</parameter></methodparam>
    </methodsynopsis>
    <para>
@@ -23,7 +23,9 @@
      Çocuk sınıflardan kurucusu olanlar için örtük olarak ebeveyn sınıfın
      kurucusu çağrılmaz. Ebeveyn sınıfın kurucusunu çocuk sınıftan çağırmak
      için, çocuk sınıf içinden <function>parent::__construct</function>
-     çağrısı yapılması gerekir.
+     çağrısı yapılması gerekir. Çocuğun bir kurucu tanımlamaması halinde,
+     normal sınıf yöntemi gibi (eğer private olarak tanımlanmadıysa) ana
+     sınıftan miras alınabilir.
     </simpara>
    </note>
    <example>
@@ -33,25 +35,36 @@
 <?php
 class AnaSınıf {
    function __construct() {
-       print "AnaSınıf kurucusundayız\n";
+      print "AnaSınıf kurucusundayız\n";
    }
 }

 class AltSınıf extends AnaSınıf {
    function __construct() {
-       parent::__construct();
-       print "AltSınıf kurucusundayız\n";
+      parent::__construct();
+      print "AltSınıf kurucusundayız\n";
    }
 }

+class DiğerAltSınıf extends AnaSınıf {
+    // AnaSınıf'ın kurucusunu miras alır
+}
+
+// AnaSınıf kurucusunda
 $obj = new AnaSınıf();
+
+// AnaSınıf kurucusunda
+// AltSınıf kurucusunda
 $obj = new AltSınıf();
+
+// AnaSınıf kurucusunda
+$obj = new DiğerAltSınıf();
 ?>
 ]]>
     </programlisting>
    </example>
    <para>
-    Geriye dönük uyumluluk için, PHP 5 belirtilen sınıfa ait bir
+    PHP 3 ve 4 ile geriye dönük uyumluluk için, PHP 5 belirtilen sınıfa ait bir
     <link linkend="object.construct">__construct()</link> yöntemi bulamazsa,
     sınıfın ismine bakarak eski tarz bir kurucu arayacaktır. Dolayısıyla,
     uyumluluk sorunu yaşayacağınız tek durum sınıf dahilinde
@@ -58,6 +71,16 @@
     <link linkend="object.construct">__construct()</link>
     isimli bir yöntemin amacı dışında kullanılması olabilir.
    </para>
+   <!-- Not using an entity because I want specific wording here, since we're
+   not deprecating constructors in general. -->
+   <warning>
+    <simpara>
+     PHP 7.0'da eski tarz kurucuların <emphasis>kullanımı
+     önerilmemekte</emphasis> olup ileri sürümlerde kaldırılacaktır.
+     Yeni kodlarda daima <link linkend="object.construct">__construct()</link>
+     kullanmalısınız.
+    </simpara>
+   </warning>
    <para>
     Diğer yöntemlerin tersine,
     <link linkend="object.construct">__construct()</link> ebeveyn
@@ -112,17 +135,17 @@
    function __construct()
    {
        print "Kurucu çalıştı\n";
-       $this->name = "YıkıcıSınıf";
    }

    function __destruct()
    {
-       print "" . $this->name . " yok ediliyor\n";
+       print "" . __CLASS__ . " yok ediliyor\n";
    }
 }

 $obj = new YıkıcıSınıf();
 ?>
+
 ]]>
     </programlisting>
    </example>
@@ -130,7 +153,8 @@
     Kurucularda olduğu gibi ebeveyn yıkıcılar çocuk sınıflar için dolaylı
     olarak çağrılmayacaktır. Ebeveyn sınıfın yıkıcısının çalışması için çocuk
     sınıfın yıkıcısından <function>parent::__destruct</function> çağrısının
-    yapılması gerekir.
+    yapılması gerekir. Ayrıca, kuruculardaki gibi, bir çocuk sınıf
+    kendisininkini gerçeklemediyse ebeveyninin yıkıcısını miras alabilir.
    </para>
    <para>
     Betiğin icrası <function>exit</function> kullanılarak durdurulsa bile

Modified: phpdoc/tr/trunk/language/oop5/final.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/final.xml	2018-10-08 13:02:51 UTC (rev 345797)
+++ phpdoc/tr/trunk/language/oop5/final.xml	2018-10-10 07:00:36 UTC (rev 345798)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 331135 Maintainer: nilgun Status: ready -->
 <!-- CREDITS: tpug, sezer -->
  <sect1 xml:id="language.oop5.final" xmlns="http://docbook.org/ns/docbook">
   <title><code>final</code> Anahtar Sözcüğü</title>
   <para>
-    PHP 5 ile birlikte gelen diğer bir yenilik <code>final</code> anahtar
+    PHP 5 ile birlikte gelen diğer bir yenilik <emphasis>final</emphasis> anahtar
     sözcüğüdür. Bu anahtar sözcükle tanımlanmış bir yöntemi çocuk sınıflar
-    geçersiz kılamazlar. Eğer bir sınıf kendini <code>final</code> sözcüğüyle
-    tanımlamışsa o sınıf genişletilemez.
+    geçersiz kılamazlar. Eğer bir sınıf kendini <emphasis>final</emphasis>
+    sözcüğüyle tanımlamışsa o sınıf genişletilemez.
   </para>

   <example>

Modified: phpdoc/tr/trunk/language/oop5/interfaces.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/interfaces.xml	2018-10-08 13:02:51 UTC (rev 345797)
+++ phpdoc/tr/trunk/language/oop5/interfaces.xml	2018-10-10 07:00:36 UTC (rev 345798)
@@ -1,23 +1,29 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 345055 Maintainer: nilgun Status: ready -->
 <!-- CREDITS: tpug, sezer -->
  <sect1 xml:id="language.oop5.interfaces" xmlns="http://docbook.org/ns/docbook">
   <title>Nesne Arayüzleri</title>
   <para>
     Nesne arayüzleri, bir sınıfın gerçeklemesi gereken yöntemlerin
-    belirtildiği kodu, bu yöntemlerin nasıl yönetileceğini tanımlamaksızın
+    belirtildiği kodu, bu yöntemlerin nasıl gerçekleneceğini tanımlamaksızın
     oluşturmanıza imkan sağlar.
   </para>
   <para>
-    Arayüzler, standart sınıflardan farklı olarak hiçbir yöntemin içeriği
-    tanımlanmaksızın <literal>interface</literal> anahtar sözcüğü kullanılarak
-    tanımlanırlar.
+    Arayüzler, sınıflardan farklı olarak <literal>class</literal> yerine
+    <literal>interface</literal> anahtar sözcüğü kullanılarak ve içeriğinde
+    hiçbir tanımlı yöntem olmaksızın tanımlanırlar.
   </para>
   <para>
     Bir arayüzdeki tüm yöntemler, arayüzün doğası gereği <code>public</code>
     olarak bildirilmelidir.
   </para>
+  <para>
+   Bazı bağlamlarda, örneğin imalat kipinde kullanım için kullanışlı
+   olabilecek bir arayüz içinde bir
+   <link linkend="language.oop5.decon.constructor">kurucu</link> bildirmek
+   mümkündür.
+  </para>
   <sect2 xml:id="language.oop5.interfaces.implements">
    <title><code>implements</code> işleci</title>
    <para>
@@ -28,8 +34,9 @@
    </para>
    <note>
     <para>
-    Belirsizliğe yol açacağından, bir sınıf aynı işlev isimlerine sahip iki
-    arayüz gerçekleyemez.
+     PHP 5.3.9 öncesinde, belirsizliğe yol açacağından, bir sınıf, aynı isme sahip
+     yöntem içeren iki arayüzü gerçekleyemezdi. PHP'nin en son sürümleri aynı imzaya
+     sahip oldukları takdirde aynı isimli yöntemlere izin vermektedir.
     </para>
    </note>
    <note>
@@ -48,10 +55,10 @@
   <sect2 xml:id="language.oop5.interfaces.constants">
    <title>Sabitler<literal></literal></title>
    <para>
-    Arayüzlerin sabitlerinin olması mümkündür. Arayüz sabitleri tıpkı <link
-    linkend="language.oop5.constants">sınıf sabitleri</link> gibi çalışırlar.
-    Kendilerini miras alan sınıflar veya arayüzler tarafından geçersiz
-    kılınamazlar.
+    Arayüzlerin sabitlerinin olması mümkündür. Arayüz sabitleri, kendilerini
+    miras alan sınıflar veya arayüzler tarafından geçersiz kılınamamaları
+    dışında tıpkı <link linkend="language.oop5.constants">sınıf sabitleri</link>
+    gibi çalışır.
    </para>
   </sect2>
   <sect2 xml:id="language.oop5.interfaces.examples">
@@ -201,7 +208,6 @@


 // Sabitler geçersiz kılınamayacağından bu çalışmaz.
-// Sınıf sabitleri için de bu böyledir.
 class b implements a
 {
     const b = 'Sınıf sabiti';

Modified: phpdoc/tr/trunk/language/oop5/iterations.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/iterations.xml	2018-10-08 13:02:51 UTC (rev 345797)
+++ phpdoc/tr/trunk/language/oop5/iterations.xml	2018-10-10 07:00:36 UTC (rev 345798)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 297028 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 338507 Maintainer: nilgun Status: ready -->
 <!-- CREDITS: tpug, sezer -->
  <sect1 xml:id="language.oop5.iterations" xmlns="http://docbook.org/ns/docbook">
   <title>Nesne Yineleme</title>
@@ -27,7 +27,7 @@

     function iterateVisible() {
        echo "MyClass::iterateVisible:\n";
-       foreach($this as $key => $value) {
+       foreach ($this as $key => $value) {
            print "$key => $value\n";
        }
     }
@@ -66,12 +66,14 @@

  <para>
   Çıktıdan görüleceği gibi, &foreach; erişilebilir olan tüm <link
-  linkend="language.oop5.visibility">görünür</link> değişkenleri yineledi.
-  Bir adım öteye giderek, PHP'nin yerleşik <link
-  linkend="language.oop5.interfaces">arayüz</link>lerinden biri olan
-  <varname>Iterator</varname>'ü gerçekleyebilirsiniz.
+  linkend="language.oop5.visibility">görünür</link> özellikleri yineledi.
+ </para>
+ <para>
+  Bir adım öteye giderek, <varname>Iterator</varname> <link
+  linkend="language.oop5.interfaces">arayüzü</link> gerçeklenebilir.
   <varname>Iterator</varname> kullanılarak, hangi nesnenin nasıl
-  yineleneceğine bir nesnenin karar verebilmesi mümkündür.
+  yineleneceğine ve her yinelemede hangi değerlerin kullanılacağına bir
+  nesnenin karar verebilmesi mümkündür.
  </para>

   <example>
@@ -90,31 +92,37 @@
         }
     }

-    public function rewind() {
+    public function rewind()
+    {
         echo "başa al\n";
         reset($this->var);
     }

-    public function current() {
+    public function current()
+    {
         $var = current($this->var);
         echo "mevcut: $var\n";
         return $var;
     }

-    public function key() {
+    public function key()
+    {
         $var = key($this->var);
         echo "anahtar: $var\n";
         return $var;
     }

-    public function next() {
+    public function next()
+    {
         $var = next($this->var);
         echo "sonraki: $var\n";
         return $var;
     }

-    public function valid() {
-        $var = $this->current() !== false;
+    public function valid()
+    {
+        $key = key($this->var);
+        $var = ($key !== NULL && $key !== FALSE);
         echo "geçerli: {$var}\n";
         return $var;
     }
@@ -133,25 +141,21 @@
    <screen role="php">
 <![CDATA[
 başa al
-mevcut: 1
 geçerli: 1
 mevcut: 1
 anahtar: 0
 0: 1
 sonraki: 2
-mevcut: 2
 geçerli: 1
 mevcut: 2
 anahtar: 1
 1: 2
 sonraki: 3
-mevcut: 3
 geçerli: 1
 mevcut: 3
 anahtar: 2
 2: 3
 sonraki:
-mevcut:
 geçerli:
 ]]>
    </screen>
@@ -159,10 +163,14 @@
   </example>

   <para>
-    Ayrıca, kendi sınıfınızı, <varname>Iterator</varname> işlevlerinin tümünü
-    her defasında yeniden tanımlamadan, PHP 5 ile birlikte gelen
-    <varname>IteratorAggregate</varname> arayüzünü gerçekleyerek
-    tanımlayabilirsiniz.
+   <interfacename>IteratorAggregate</interfacename>
+   <link linkend="language.oop5.interfaces">arayüzü</link>,
+   <interfacename>Iterator</interfacename> yöntemlerinin tümünü gerçeklemek
+   için de kullanılabilir. <interfacename>IteratorAggregate</interfacename>
+   sadece <interfacename>Iterator</interfacename> arayüzünü gerçekleyen
+   sınıfın bir örneğini döndüren
+   <methodname>IteratorAggregate::getIterator</methodname> yönteminin
+   gerçeklenmesini gerektirir.
   </para>

   <example>
@@ -234,6 +242,13 @@
     linkend="spl.iterators"/> bölümüne bakınız.
    </para>
   </note>
+  <note>
+   <para>
+    PHP 5.5 ve sonrası kullanıcıları, yineleyicileri tanımlamanın başka bir
+    yolu olarak <link linkend="language.generators">üreteçleri</link>
+    inceleyebilir.
+   </para>
+  </note>

  </sect1>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.