svn: /phpdoc/tr/trunk/language/oop5/ anonymous.xml changelog.xml serialization.xml

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

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

Log:
New translations.

Changed paths:
    A   phpdoc/tr/trunk/language/oop5/anonymous.xml
    A   phpdoc/tr/trunk/language/oop5/changelog.xml
    A   phpdoc/tr/trunk/language/oop5/serialization.xml
svn-diffs-345789.txt (text/x-diff, 17.4 KB)
Added: phpdoc/tr/trunk/language/oop5/anonymous.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/anonymous.xml	                        (rev 0)
+++ phpdoc/tr/trunk/language/oop5/anonymous.xml	2018-10-06 17:00:07 UTC (rev 345789)
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 339452 Maintainer: nilgun Status: ready -->
+<sect1 xml:id="language.oop5.anonymous" xmlns="http://docbook.org/ns/docbook">
+ <title>Anonim Sınıflar</title>
+
+ <para>
+  Anonim sınıflar için destek PHP7'de eklendi. Anonim sınıflar basit, tek
+  seferlik nesnelerin oluşturulması gerektiğinde kullanışlıdır.
+ </para>
+
+ <informalexample>
+  <programlisting role="php">
+<![CDATA[
+<?php
+
+// PHP 7 öncesi kod
+class Logger
+{
+    public function log($msg)
+    {
+        echo $msg;
+    }
+}
+
+$util->setLogger(new Logger());
+
+// PHP 7 sonrası kod
+$util->setLogger(new class {
+    public function log($msg)
+    {
+        echo $msg;
+    }
+});
+]]>
+  </programlisting>
+ </informalexample>
+
+ <para>
+  Değiştirgelerini kurucularına iletebilir, diğer sınıfları genişletebilir,
+  arayüzleri gerçekleyebilir ve normal bir sınıf gibi nitelikleri
+  kullanabilirler:
+ </para>
+
+ <informalexample>
+  <programlisting role="php">
+<![CDATA[
+<?php
+
+class SomeClass {}
+interface SomeInterface {}
+trait SomeTrait {}
+
+var_dump(new class(10) extends SomeClass implements SomeInterface {
+    private $num;
+
+    public function __construct($num)
+    {
+        $this->num = $num;
+    }
+
+    use SomeTrait;
+});
+]]>
+  </programlisting>
+  &example.outputs;
+  <screen>
+<![CDATA[
+object(class@anonymous)#1 (1) {
+  ["Command line code0x104c5b612":"class@anonymous":private]=>
+  int(10)
+}
+]]>
+  </screen>
+ </informalexample>
+
+ <para>
+  Anonim bir sınıfı başka bir sınıfta yerleştirmek, herhangi bir özel veya
+  korunan yönteme veya bu dış sınıfın özelliklerine erişim sağlamaz. Dış
+  sınıfın korumalı özelliklerini veya yöntemlerini kullanabilmek için, anonim
+  sınıf dış sınıfı genişletebilir. Dış sınıfın anonim sınıftaki özel
+  özelliklerini kullanmak için kurucusundan geçirilmesi gerekir:
+ </para>
+
+ <informalexample>
+  <programlisting role="php">
+<![CDATA[
+<?php
+
+class Outer
+{
+    private $prop = 1;
+    protected $prop2 = 2;
+
+    protected function func1()
+    {
+        return 3;
+    }
+
+    public function func2()
+    {
+        return new class($this->prop) extends Outer {
+            private $prop3;
+
+            public function __construct($prop)
+            {
+                $this->prop3 = $prop;
+            }
+
+            public function func3()
+            {
+                return $this->prop2 + $this->prop3 + $this->func1();
+            }
+        };
+    }
+}
+
+echo (new Outer)->func2()->func3();
+]]>
+  </programlisting>
+  &example.outputs;
+  <screen>
+<![CDATA[
+6
+]]>
+  </screen>
+ </informalexample>
+
+ <para>
+  Aynı anonim sınıf bildirimiyle oluşturulan tüm nesneler, bu sınıfın
+  örnekleridir.
+ </para>
+
+ <informalexample>
+  <programlisting role="php">
+<![CDATA[
+<?php
+function anonymous_class()
+{
+    return new class {};
+}
+
+if (get_class(anonymous_class()) === get_class(anonymous_class())) {
+    echo 'aynı sınıf';
+} else {
+    echo 'farklı sınıf';
+}]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+aynı sınıf
+]]>
+  </screen>
+ </informalexample>
+
+ <note>
+  <para>
+   Aşağıdaki örnekte gösterildiği gibi, anonim sınıflara motor tarafından
+   bir ad verildiğini unutmayın. Bu isim, güvenilmemesi gereken bir
+   gerçekleme ayrıntısı olarak görülmelidir.
+  </para>
+  <informalexample>
+   <programlisting role="php">
+<![CDATA[
+<?php
+echo get_class(new class {});
+]]>
+  </programlisting>
+  &example.outputs.similar;
+  <screen>
+<![CDATA[
+class@anonymous/in/oNi1A0x7f8636ad2021
+]]>
+   </screen>
+  </informalexample>
+ </note>
+</sect1>
+
+<!-- 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
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/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
+-->


Property changes on: phpdoc/tr/trunk/language/oop5/anonymous.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
Added: phpdoc/tr/trunk/language/oop5/changelog.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/changelog.xml	                        (rev 0)
+++ phpdoc/tr/trunk/language/oop5/changelog.xml	2018-10-06 17:00:07 UTC (rev 345789)
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 332129 Maintainer: nilgun Status: ready -->
+<sect1 xml:id="language.oop5.changelog" xmlns="http://docbook.org/ns/docbook">
+ <title>NYP Değişiklik Tarihçesi</title>
+ <para>
+  PHP 5 NYP modelinde yaplan değişiklikler burada sıralanmıştır. Bunlarla
+  ilgili açıklamalar ve diğer bilgiler NYP belgeleri içindedir.
+ </para>
+ <para>
+  <informaltable>
+   <tgroup cols="2">
+    <thead>
+     <row>
+      <entry>&Version;</entry>
+      <entry>&Description;</entry>
+     </row>
+    </thead>
+    <tbody>
+     <row>
+      <entry>7.0.0</entry>
+      <entry>
+       Kullanılan iki niteliğin (uyumlu) özelliklerini tanımlamak artık bir
+       hatayı tetiklemiyor.
+      </entry>
+     </row>
+     <row>
+      <entry>5.6.0</entry>
+      <entry>
+       Eklendi: <link linkend="object.debuginfo">__debugInfo()</link> yöntemi.
+      </entry>
+     </row>
+     <row>
+      <entry>5.5.0</entry>
+      <entry>
+       Eklendi: <link linkend="language.oop5.basic.class.class">::class</link>
+       sihirli sabiti.
+      </entry>
+     </row>
+     <row>
+      <entry>5.5.0</entry>
+      <entry>
+       Eklendi: İstisnaları işlemek için
+       <link linkend="language.exceptions">finally</link> bloğu.
+      </entry>
+     </row>
+     <row>
+      <entry>5.4.0</entry>
+      <entry>
+       Eklendi: <link linkend="language.oop5.traits">Nitelikler</link>.
+      </entry>
+     </row>
+     <row>
+      <entry>5.4.0</entry>
+      <entry>
+       Değişti: Eğer bir <link linkend="language.oop5.abstract">abstract</link>
+       sınıfı kurucu için bir imza tanımlıyorsa, o imza artık yürürlüğe konuyor.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.3</entry>
+      <entry>
+       Değişti: Bir <link linkend="language.namespaces">isim alanlı</link>
+       sınıf adının son elemanı ile aynı isimdeki yöntemler artık
+       <link linkend="language.oop5.decon">kurucu</link> olarak ele alınmıyor.
+       Bu değişiklik isim alanlı olmayan sınıfları etkilemez.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Değişti: Prototipte öntanımlı değerlere sahip olan arayüzleri
+       yöntemlerle gerçekleyen sınıfların artık arayüzün öntanımlı değeriyle
+       eşleşmesi gerekmiyor.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Değişti: Sınıflara bir değişken kullanarak başvurmak artık mümkün (örn.,
+       <literal>echo $classname::constant;</literal>). Değişkenin değeri bir
+       anahtar sözcük olmamalıdır (örn., <literal>self</literal>,
+       <literal>parent</literal> veya <literal>static</literal>).
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Değişti: Sihirli <link linkend="language.oop5.overloading">aşırı
+       yükleme</link> yöntemleri <link linkend="language.oop5.static">static</link>
+       bildirilirse <constant>E_WARNING</constant> seviyesinde bir hata oluşur.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Değişti: 5.3.0 öncesinde, <function>__autoload</function> işlevinde
+       yavrulanan istisnalar <link linkend="language.exceptions">catch</link>
+       bloğunda yakalanamaz ve ölümcül hata oluşur. <literal>__autoload</literal>
+       işlevinde yavrulanmayan istisnalar
+       <link linkend="language.exceptions">catch</link> bloğunda tek bir
+       önlemle yakalanabilir. Özel bir istisna yavrulanıyorsa bu özel istisna
+       sınıfı mevcut olmalıdır. <literal>__autoload</literal> işlevi özel
+       istisna sınıfını özdevinimli yüklemek için ardışık olarak kullanılabilir.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Eklendi: <link linkend="language.oop5.overloading">__callStatic</link>
+       yöntemi.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Eklendi: Sınıf <emphasis>const</emphasis> ve özellik tanımları için
+       <link linkend="language.types.string.syntax.heredoc">yorumlu</link>
+       ve <link linkend="language.types.string.syntax.heredoc">yorumsuz</link>
+       metin desteği. Yorumlu değerlerin çift tırnaklı dizgelerin uyduğu kurallara
+       uyması gerektiğini unutmayın (örn, değşken olmayanların içinde).
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Eklendi: <link linkend="language.oop5.late-static-bindings">Duruk
+       İçselleştirim</link>.
+      </entry>
+     </row>
+     <row>
+      <entry>5.3.0</entry>
+      <entry>
+       Eklendi: <link linkend="object.invoke">__invoke()</link> yöntemi.
+      </entry>
+     </row>
+     <row>
+      <entry>5.2.0</entry>
+      <entry>
+       Değişti: <link linkend="object.tostring">__toString()</link> yöntemi
+       sadece <function>echo</function> veya <function>print</function> ile
+       doğrudan birleştirilip çağrılabilirdi. Artık, herhangi bir dizge
+       bağlamında (örn, <literal>%s</literal> seçenekli
+       <function>printf</function> içinde) çağrılabilir fakat diğer türlerin
+       bağlamlarında (örn, <literal>%d</literal> seçeneği ile) çağrılamaz.
+       PHP 5.2.0 itibariyle, nesnelerin <literal>__toString</literal> yöntemi
+       olmaksızın dizgeye dönüştürülmesi <constant>E_RECOVERABLE_ERROR</constant>
+       seviyesinde bir hataya sebep olur.
+      </entry>
+     </row>
+     <row>
+      <entry>5.1.3</entry>
+      <entry>
+       Değişti: PHP 5 öcesinde, <literal>var</literal> kullanımı önerilmezdi
+       ve <constant>E_STRICT</constant> seviyesinde bir hataya sebep olurdu.
+       Artık, önerilmeme durumu ortadan kalktığından bir hataya sebep olmuyor.
+      </entry>
+     </row>
+     <row>
+      <entry>5.1.0</entry>
+      <entry>
+       Değişti:  <link linkend="object.set-state">__set_state()</link> duruk
+       yöntemi artık  <function>var_export</function> ile ihracedilen sınıflar
+       için çağrılabiliyor.
+      </entry>
+     </row>
+     <row>
+      <entry>5.1.0</entry>
+      <entry>
+       Eklendi: <link linkend="object.isset">__isset()</link>
+       ve <link linkend="object.unset">__unset()</link> yöntemi.
+      </entry>
+     </row>
+    </tbody>
+   </tgroup>
+  </informaltable>
+ </para>
+</sect1>
+
+<!-- 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
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/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
+-->


Property changes on: phpdoc/tr/trunk/language/oop5/changelog.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
Added: phpdoc/tr/trunk/language/oop5/serialization.xml
===================================================================
--- phpdoc/tr/trunk/language/oop5/serialization.xml	                        (rev 0)
+++ phpdoc/tr/trunk/language/oop5/serialization.xml	2018-10-06 17:00:07 UTC (rev 345789)
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 330347 Maintainer: nilgun Status: ready -->
+ <sect1 xml:id="language.oop5.serialization" xmlns="http://docbook.org/ns/docbook">
+  <title>Nesne Dizgeleştirme</title>
+  <title>Oturumlardaki nesnelerin dizgeleştirilmesi</title>
+
+  <para>
+   <function>serialize</function> işlevi PHP'de saklanmış bir değerin
+   bayt-akımı gösterimini içeren bir dizge döndürür. Özgün değişken değerlerini
+   yeniden oluşturmak için <function>unserialize</function> işlevi
+   kullanılabilir. Bir nesneyi saklamak için dizgeleştirme kullanımı nesnenin
+   içindeki tüm değişkenleri saklar. Nesnenin yöntemleri saklanmaz sadece
+   sınıf ismi saklanır.
+  </para>
+
+  <para>
+   Bir nesne için <function>unserialize</function> kullanabilmek için sınıf
+   nesnesinin tanımlı olması gerekir. Yani, A sınıfının bir nesnesi varsa ve
+   siz onu dizgeleştiriseniz, A sınıfının ismini ve içerdiği tüm değişkenlerin
+   değerlerini içeren bir dizge alırsınız. Başka bir dosyada bu dizgeyi
+   <function>unserialize</function> ile dönüştürmek isterseniz, bu dosyada
+   daha önce A sınıfını tanımlamış ve nesnesini oluşturmuş olmalısınız.
+   Bu, örneğin, A sınıfının tanımını bir include dosyasında saklayıp bu
+   dosyayı betiğinize dahil ederek veya
+   <function>spl_autoload_register</function> işlevini kullanarak
+   yapabilirsiniz.
+  </para>
+
+  <informalexample>
+   <programlisting role="php">
+<![CDATA[
+<?php
+// classa.inc:
+
+  class A {
+      public $one = 1;
+
+      public function show_one() {
+          echo $this->one;
+      }
+  }
+
+// page1.php:
+
+  include("classa.inc");
+
+  $a = new A;
+  $s = serialize($a);
+  // $s'i page2.php'nin bulabileceği bir yere sakla
+  file_put_contents('store', $s);
+
+// page2.php:
+
+  // unserialize işlevinin düzgün çalışması için gerekli
+  include("classa.inc");
+
+  $s = file_get_contents('store');
+  $a = unserialize($s);
+
+  // şimdi show_one() işlevini kullanabiliriz.
+  $a->show_one();
+?>
+]]>
+   </programlisting>
+  </informalexample>
+
+  <para>
+   Bir uygulama oturumları kullanıyorsa ve nesneleri kaydetmek için
+   <function>session_register</function> işlevini kullanırsa, bu nesneler her
+   PHP sayfasının sonunda otomatik olarak dizgeleştirilir ve sonraki
+   sayfaların her birinde özdevinimli olarak nesneleştirilir. Yani, bu
+   nesneler, oturumun bir parçası haline geldiklerinde, uygulama sayfalarının
+   herhangi birinde görünebilir. Bununla birlikte,
+   <function>session_register</function> işlevi PHP 5.4.0'da kaldırıldı.
+  </para>
+
+  <para>
+   Bir uygulama, uygulamada daha sonra kullanmak için nesneleri
+   dizgeleştiriyorsa, uygulamanın o nesnenin sınıf tanımını uygulama boyunca
+   içermesi şiddetle tavsiye edilir. Bunu yapmamak, bir nesnenin sınıf
+   tanımlaması olmaksızın nesneleştirilmesiyle sonuçlanabilir, bu da PHP'nin
+   nesneyi hiçbir yöntemi olmayan bir
+   <classname>__PHP_Incomplete_Class_Name</classname> sınıfına sokmasına
+   neden olur ve sonuçta nesne işe yaramaz hale gelir.
+  </para>
+
+  <para>
+   Yani, yukarıdaki örnekte, eğer <literal>session_register("a")</literal>
+   çalıştırarak <varname>$a</varname> bir oturumun parçası haline gelirse,
+   <literal>classa.inc</literal> dosyasını yalnız <filename>page1.php</filename>
+   ve <filename>page2.php</filename> dosyalarına değil tüm sayfa dosyalarına
+   dahil etmelisiniz.
+  </para>
+
+  <para>
+   Yukarıdaki tavsiyenin ötesinde, <link linkend="object.sleep">__sleep()</link>
+   ve <link linkend="object.wakeup">__wakeup()</link> yöntemlerini kullanarak
+   da bir nesne üzerinde dizgeleştirme ve yeniden nesneleştirme yapabileceğinizi
+   unutmayın. <link linkend="object.sleep">__sleep()</link> kullanımı ayrıca,
+   nesne özelliklerinin tamamının değil sadece bir kısmının dizgeleştirilmesini
+   de sağlar.
+  </para>
+ </sect1>
+
+<!-- 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
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/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
+-->


Property changes on: phpdoc/tr/trunk/language/oop5/serialization.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
\ No newline at end of property
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.