com doc/tr: update for sync with English docs.: language/oop5/basic.xml language/oop5/cloning.xml language/oop5/decon.xml language/oop5/final.xml language/oop5/inheritance.xml language/oop5/late-static-bindings.xml language/oop5/magic.xml language/oop5/overloading.xml language/oop5/properties.xml language/oop5/serialization.xml language/oop5/static.xml language/oop5/traits.xml language/oop5/variance.xml language/oop5/visibility.xml
[email protected] (Nilgün Belma Bugüner) Fri, 12 Mar 2021 09:27:36 +0000
| Newsgroups | php.doc.tr |
|---|---|
| Message-ID | <[email protected]> |
Commit: 234ed59216abf929173afc15952dd960c01daf54 Author: Nilgün Belma Bugüner <[email protected]> Fri, 12 Mar 2021 12:27:36 +0300 Parents: 9a24875c5cf8356160afdd1acaa77e3fbbd03b48 Branches: master Link: http://git.php.net/?p=doc/tr.git;a=commitdiff;h=234ed59216abf929173afc15952dd960c01daf54 Log: update for sync with English docs. Changed paths: M language/oop5/basic.xml M language/oop5/cloning.xml M language/oop5/decon.xml M language/oop5/final.xml M language/oop5/inheritance.xml M language/oop5/late-static-bindings.xml M language/oop5/magic.xml M language/oop5/overloading.xml M language/oop5/properties.xml M language/oop5/serialization.xml M language/oop5/static.xml M language/oop5/traits.xml M language/oop5/variance.xml M language/oop5/visibility.xml
diff_234ed59216abf929173afc15952dd960c01daf54.txt
(text/plain, 29.5 KB)
diff --git a/language/oop5/basic.xml b/language/oop5/basic.xml
index 8fca7738..10e32671 100644
--- a/language/oop5/basic.xml
+++ b/language/oop5/basic.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 02f3bf57175c48abff767ad2c0961c6cfe58a39e Maintainer: nilgun Status: ready-->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready-->
<sect1 xml:id="language.oop5.basic" xmlns="http://docbook.org/ns/docbook">
<title>Temel Kavramlar</title>
@@ -565,7 +565,7 @@ Stack trace:
sınıf isim çözünürlüğü için de kullanılabilmektedir.
<literal>SınıfAdı</literal> sınıfının tam nitelenmiş ismini
<literal>SınıfAdı::class</literal> biçeminde kullanarak bir dizge elde
- edebilirsiniz. Bu, özellikle <link linkend="language.namespaces">isim
+ edilebilir. Bu, özellikle <link linkend="language.namespaces">isim
alanlı</link> sınıflarda çok kullanışlıdır.
</para>
<para>
diff --git a/language/oop5/cloning.xml b/language/oop5/cloning.xml
index 11c983e1..f8f4f148 100644
--- a/language/oop5/cloning.xml
+++ b/language/oop5/cloning.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.cloning" xmlns="http://docbook.org/ns/docbook">
<title>Nesne Kopyalama</title>
@@ -22,9 +22,8 @@
<para>
Bir nesnenin kopyası (mümkünse nesnenin
<link linkend="object.clone">__clone()</link> yöntemini
- çağıran) <emphasis>clone</emphasis> anahtar sözcüğü kullanılarak
- oluşturulur. Bir nesnenin <link linkend="object.clone">__clone()</link>
- yöntemi doğrudan doğruya çağrılamaz.
+ çağıran) <literal>clone</literal> anahtar sözcüğü kullanılarak
+ oluşturulur.
</para>
<informalexample>
diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml
index b9d4ff2a..880fa117 100644
--- a/language/oop5/decon.xml
+++ b/language/oop5/decon.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 4317fec7555dd42621f88162cc5068092e5c5cfb Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 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>
@@ -169,8 +169,8 @@ class Point {
</note>
<note>
<para>
- <!-- This should be linked once attributes are documented. -->
- Tanıtılan kurucu değiştirgelerine yerleştirilen öznitelikler,
+ Tanıtılan kurucu değiştirgelerine yerleştirilen
+ <link linkend="language.attributes">öznitelikler</link>,
hem özelliğe hem de değiştirgeye atanır.
</para>
</note>
@@ -209,7 +209,7 @@ class Product {
}
public static function fromXml(string $xml): static {
- // Kendi mantığını burya koy.
+ // Özelleştirmeler buraya.
$data = convert_xml_to_array($xml);
$new = new static();
$new->id = $data['id'];
diff --git a/language/oop5/final.xml b/language/oop5/final.xml
index 52c96814..0fde1748 100644
--- a/language/oop5/final.xml
+++ b/language/oop5/final.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 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>
- Tanımı <emphasis>final</emphasis> anahtar sözcüğü ile başlayan bir yöntemi
- çocuk sınıflar geçersiz kılamaz. Tanımı <emphasis>final</emphasis>
+ Tanımı <literal>final</literal> anahtar sözcüğü ile başlayan bir yöntemi
+ çocuk sınıflar geçersiz kılamaz. Tanımı <literal>final</literal>
sözcüğüyle ile başlayan bir sınıf ise genişletilemez.
</para>
@@ -47,7 +47,7 @@ final class AnaSınıf {
echo "AnaSınıf::deneme() çağrıldı\n";
}
- // Burada işlevi final olarak belirtmenin bir önemi yoktur
+ // Sınıf zaten final olduğundan buradaki final gereksizdir
final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
diff --git a/language/oop5/inheritance.xml b/language/oop5/inheritance.xml
index 3d82ee0e..cdc0f5f8 100644
--- a/language/oop5/inheritance.xml
+++ b/language/oop5/inheritance.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: be8c27a5f315a5e91bdd5f39a951c7759c143567 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.inheritance" xmlns="http://docbook.org/ns/docbook">
<title>Nesnelerin Kalıtımı</title>
<para>
@@ -9,7 +9,7 @@
ilişkisini düzenler.
</para>
<para>
- Örneğin, bir sınıfı (<literal>extend</literal> ile) genişlettiğinizde alt
+ Örneğin, bir sınıf (<literal>extend</literal> ile) genişletildiğinde alt
sınıf üst sınıftaki genel ve korunmuş yöntemlerin tümünü miras alır. Bir sınıf
bu yöntemleri aynı isimdeki yöntemlerle geçersizleştirmedikçe bunlar özgün
işlevselliklerini korur.
@@ -19,7 +19,13 @@
tamamını yeni baştan gerçeklemeksizin benzer nesnelerde ek işlevsellikleri
gerçeklemek için kullanışlıdır.
</para>
-
+ <para>
+ Yöntemlerin, özelliklerin ve sabitlerin
+ <link linkend="language.oop5.visibility">görünürlüğü</link> gevşetilebilir,
+ örn. <literal>protected</literal> bir yöntem <literal>public</literal> olarak
+ imlenebilir; ancak sınırlandırılamaz, örneğin bir <literal>public</literal>
+ özellik, <literal>private</literal> olarak imlenebilir.
+ </para>
<note>
<para>
Otomatik yükleme kullanılmadıkça, sınıflar kullanılmadan önce
diff --git a/language/oop5/late-static-bindings.xml b/language/oop5/late-static-bindings.xml
index 45d7a11c..7c58163b 100644
--- a/language/oop5/late-static-bindings.xml
+++ b/language/oop5/late-static-bindings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.late-static-bindings" xmlns="http://docbook.org/ns/docbook">
<title>Statik İçselleştirim</title>
<para>
diff --git a/language/oop5/magic.xml b/language/oop5/magic.xml
index d226f59c..1946f385 100644
--- a/language/oop5/magic.xml
+++ b/language/oop5/magic.xml
@@ -1,10 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
<title>Sihirli Yöntemler</title>
<para>
+ Sihirli yöntemler, bir nesne üzerinde belirli eylemler gerçekleştirildiğinde
+ PHP'nin öntanımlı eylemini geçersiz kılan özel yöntemlerdir.
+ </para>
+ <caution>
+ <simpara>
+ <literal>__</literal> ile başlayan tüm yöntem isimleri PHP tarafından
+ ayrılmıştır. Bu nedenle, PHP'nin davranışını geçersiz kılmadıkça bu tür
+ yöntem adlarının kullanılması önerilmez.
+ </simpara>
+ </caution>
+ <para>
+ Aşağıdakiler sihirli yöntem olarak ele alınır:
+ <!-- Should be an itemized list ? -->
<link linkend="object.construct">__construct()</link>,
<link linkend="object.destruct">__destruct()</link>,
<link linkend="object.call">__call()</link>,
@@ -20,28 +33,36 @@
<link linkend="object.tostring">__toString()</link>,
<link linkend="object.invoke">__invoke()</link>,
<link linkend="object.set-state">__set_state()</link>,
+ <link linkend="object.clone">__clone()</link>,
+ <link linkend="object.debuginfo">__debugInfo()</link>,
<link linkend="object.clone">__clone()</link> ve
- <link linkend="object.debuginfo">__debugInfo()</link>
- işlev isimleri PHP
- sınıflarında sihirli işlemler yaparlar. İşlevlerinize sihirli bir
- işlevsellik kazandırmak istemedikçe bu isimleri sınıfınızın içinde işlev
- ismi olarak kullanamazsınız.
+ <link linkend="object.debuginfo">__debugInfo()</link>.
</para>
- <note>
+ <warning>
+ <!-- See for a code example of this behaviour: https://3v4l.org/Bov34 -->
<simpara>
- Tüm sihirli yöntemler <emphasis>KESİNLİKLE</emphasis>
- <literal>public</literal> olarak bildirilmelidir.
+ <link linkend="object.construct">__construct()</link>,
+ <link linkend="object.destruct">__destruct()</link> ve
+ <link linkend="object.clone">__clone()</link> hariç tüm sihirli yöntemler
+ <emphasis>mutlaka</emphasis> <literal>public</literal> olarak
+ bildirilmelidir, aksi takdirde bir <constant>E_WARNING</constant>
+ çıktılanır. PHP 8.0.0 öcesinde,
+ <link linkend="object.sleep">__sleep()</link>,
+ <link linkend="object.wakeup">__wakeup()</link>,
+ <link linkend="object.serialize">__serialize()</link>,
+ <link linkend="object.unserialize">__unserialize()</link> ve
+ <link linkend="object.set-state">__set_state()</link> sihirli yöntemleri
+ için böyle bir uyarı yapılmazdı.
</simpara>
- </note>
-
- <caution>
- <simpara>
- PHP, <literal>__</literal> ile baslayan tüm işlev isimlerini sihirli
- işlevlere ayırmıştır. Belgelenmiş bir kaç sihirli işlevsellik dışında
- <literal>__</literal> ile başlayan işlev isimleri kullanmamanızı öneririz.
- </simpara>
- </caution>
+ </warning>
+ <warning>
+ <para>
+ Bir sihirli yöntemin tanımında yapılan tür bildirimleri bu belgede
+ açıklandığı gibi yapılmalıdır. Aksi takdirde, ölümcül bir hata çıktılanır.
+ PHP 8.0.0 öncesinde hiçbir uyarı yapılmazdı.
+ </para>
+ </warning>
<sect2 xml:id="language.oop5.magic.sleep">
<title>
@@ -66,25 +87,25 @@
<link linkend="object.sleep">__sleep()</link>
adında sihirli bir işleve sahip olup olmadığına bakar. Böyle bir işlev
varsa herhangi bir dizileştirme işleminden önce bu işlev çalıştırılır.
- Bu işlev ile nesne üzerinde temizlik yapabilir ve dizileştirilmesi
- gereken nesnenin tüm değişken isimlerinin bir dizi halinde döndürülmesini
- sağlayabilirsiniz. Eğer işlev hiçbir şey döndürmemişse &null;
+ Bu işlev ile nesne üzerinde temizlik yapılabilir ve dizileştirilmesi
+ gereken nesnenin tüm değişken isimlerinin bir dizi halinde döndürülmesi
+ sağlanabilir. Eğer işlev hiçbir şey döndürmemişse &null;
dizileştirilir ve bir <constant>E_NOTICE</constant> çıktılanır.
</para>
<note>
<para>
Ebeveyn sınıflardaki private özelliklerin isimlerini döndürmek
- <link linkend="object.sleep">__sleep()</link> için imkansızdır. Bunu
- yapmaya kalkışırsanız <constant>E_NOTICE</constant> seviyesinde bir hata
- iletisi alırsınız. Bunun yerine <classname>Serializable</classname>
- arayüzünü kullanabilirsiniz.
+ <link linkend="object.sleep">__sleep()</link> için imkansızdır. Bu
+ yapılırsa <constant>E_NOTICE</constant> seviyesinde bir hata
+ iletisi çıktılanır. Bunun yerine <classname>Serializable</classname>
+ arayüzünü kullanılabilir.
</para>
</note>
<para>
<link linkend="object.sleep">__sleep()</link> işlevinin asıl kullanım
amacı askıdaki veriyi göndermek gibi temizliğe benzer işlemler yapmaktır.
Ayrıca, tümüyle kaydedilmesi gerekmeyen büyük veri parçaları sözkonusu
- olduğunda da bu işlevden yararlanabilirsiniz.
+ olduğunda da bu işlevden yararlanılabilir.
</para>
<para>
<function>unserialize</function> işlevi tersine bir işlem yaparak
@@ -259,15 +280,32 @@ class Connection
<para>
<link linkend="object.tostring">__toString()</link> yöntemi, sınıf bir
dizgeye dönüştürüldüğünde sınıfın nasıl tepki vereceğine karar vermeyi
- sağlar. Bu yöntem bir dizge döndürmelidir, aksi takdirde
- <constant>E_RECOVERABLE_ERROR</constant> seviyesinde ölümcül bir hata
- çıktılanır.
+ sağlar. Örneğin, <literal>echo $obj;</literal> ile ne basılacağı gibi.
</para>
<warning>
+ <para>
+ PHP 8.0.0'dan itibaren, dönüş değerine standart PHP tür anlamlandırması
+ uygulanmaktadır, yani
+ <link linkend="language.types.declarations.strict">katı kodlama</link>
+ devre dışı bırakılırsa, mümkün olduğu takdirde değer <type>string</type>
+ türe zorlanır.
+ </para>
+ <para>
+ PHP 7.4'te, döndürülen değer <emphasis>mutlaka</emphasis>
+ <type>string</type> türünde olmalıdır, aksi takdirde bir
+ <classname>Error</classname> yavrulanır.
+ </para>
+ <para>
+ PHP 7.4.0 öncesinde, döndürülen değer <emphasis>mutlaka</emphasis>
+ <type>string</type> türünde olmalıydı, aksi takdirde ölümcül bir
+ <constant>E_RECOVERABLE_ERROR</constant> çıktılanırdı.
+ </para>
+ </warning>
+ <warning>
<simpara>
- <link linkend="object.tostring">__toString()</link> yöntemin içinden
- bir istisna yavrulatılamaz. Bunun yapılması ölümcül hata ile
- sonuçlanır.
+ <link linkend="object.tostring">__toString()</link> yönteminin içinden
+ bir istisna yavrulatılamaz. PHP 7.4.0 öncesinde, bunun yapılması ölümcül
+ hata ile sonuçlanırdı.
</simpara>
</warning>
<example>
@@ -360,9 +398,9 @@ bool(true)
sınıflar için çağrılır.
</para>
<para>
- Bu yöntemin tek değiştirgesi <literal>array('</literal><replaceable
+ Bu yöntemin tek değiştirgesi <literal>['</literal><replaceable
>özellik</replaceable><literal>' => </literal><replaceable>değer</replaceable><literal>,
- ...)</literal> biçeminde ihraç edilen özellikleri içeren bir dizidir.
+ ...]</literal> biçeminde ihraç edilen özellikleri içeren bir dizidir.
</para>
<example>
<title>- <link linkend="object.set-state">__set_state()</link> kullanımı
@@ -389,18 +427,21 @@ $a = new A;
$a->var1 = 5;
$a->var2 = 'foo';
-eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
- // 'var1' => 5,
- // 'var2' => 'foo',
- // ));
+$b = var_export($a, true);
var_dump($b);
+eval('$c = ' . $b . ';');
+var_dump($c);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
+string(60) "A::__set_state(array(
+ 'var1' => 5,
+ 'var2' => 'foo',
+))"
object(A)#2 (2) {
["var1"]=>
int(5)
diff --git a/language/oop5/overloading.xml b/language/oop5/overloading.xml
index a96976d3..ef5343c5 100644
--- a/language/oop5/overloading.xml
+++ b/language/oop5/overloading.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.overloading" xmlns="http://docbook.org/ns/docbook">
<title>Aşırı Yükleme</title>
@@ -270,7 +270,6 @@ class YöntemSınama
. implode(', ', $değiştirgeler). "\n";
}
- /** PHP 5.3.0 ve sonrası */
public static function __callStatic($isim, $değiştirgeler)
{
// Bilgi: $isim değeri büyük-küçük harfe duyarlıdır.
diff --git a/language/oop5/properties.xml b/language/oop5/properties.xml
index 4d1c6332..c27dc349 100644
--- a/language/oop5/properties.xml
+++ b/language/oop5/properties.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 02f3bf57175c48abff767ad2c0961c6cfe58a39e Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.properties" xmlns="http://docbook.org/ns/docbook">
<title>Özellikler</title>
@@ -42,9 +42,6 @@
Yöntem bir nesne bağlamından çağrılıyorsa <varname>$this</varname> sözde
değişkeni sınıf yöntemleri içinde de kullanılabilir.
<varname>$this</varname>, yöntemi çağıran nesnenin değeridir.
- Fakat yöntem, bir ikincil nesne bağlamından <link
- linkend="language.oop5.static">statik olarak</link> çağrılıyorsa, bu,
- birincil nesne de olabilir.
</para>
<para>
diff --git a/language/oop5/serialization.xml b/language/oop5/serialization.xml
index c4009db1..2d975401 100644
--- a/language/oop5/serialization.xml
+++ b/language/oop5/serialization.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 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>
-
+ <!-- siz, biz kaldırıldı-->
<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
@@ -17,14 +17,14 @@
<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.
+ dizgeleştirilirse, A sınıfının ismini ve içerdiği tüm değişkenlerin
+ değerlerini içeren bir dizge elde edilir. Başka bir dosyada bu dizge
+ <function>unserialize</function> ile dönüştürülmek istenirse, bu dosyada
+ daha önce A sınıfı tanımlanmış ve nesnesi oluşturulmuş olmalıdır.
+ Bu, örneğin, A sınıfının tanımı bir include dosyasında saklanıp bu
+ dosya betiğe dahil edilerek veya
+ <function>spl_autoload_register</function> işlevi kullanılarak
+ yapılabilir.
</para>
<informalexample>
@@ -58,7 +58,7 @@
$s = file_get_contents('store');
$a = unserialize($s);
- // şimdi show_one() işlevini kullanabiliriz.
+ // şimdi show_one() işlevi kullanılabilir.
$a->show_one();
?>
]]>
@@ -78,16 +78,16 @@
<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>
+ <literal>classa.inc</literal> dosyası yalnız <filename>page1.php</filename>
ve <filename>page2.php</filename> dosyalarına değil tüm sayfa dosyalarına
- dahil etmelisiniz.
+ dahil edilmelidir.
</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,
+ da bir nesne üzerinde dizgeleştirme ve yeniden nesneleştirme yapabilir.
+ <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>
diff --git a/language/oop5/static.xml b/language/oop5/static.xml
index f9ff1302..92fa1fc5 100644
--- a/language/oop5/static.xml
+++ b/language/oop5/static.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 8e7cce7b98ed33cda72ce0a77b1368ab396f6e09 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.static" xmlns="http://docbook.org/ns/docbook">
<title><code>static</code> Anahtar Sözcüğü</title>
@@ -12,17 +12,14 @@
<link linkend="language.variables.scope.static">statik değişkenleri
tanımlamak</link> ve
<link linkend="language.oop5.late-static-bindings">statik içselleştirim</link>
- için de kullanılır. Lütfen <literal>static</literal> anahtar sözcüğünün
- anlamları hakkında bilgi edinmek için bu sayfalara bakınız.
+ için de kullanılır. <literal>static</literal> anahtar sözcüğünün
+ anlamları hakkında bilgi edinmek için bu sayfalara bakılabilir.
</simpara>
</tip>
<para>
- Sınıf özelliklerinin ya da yöntemlerinin <code>static</code> olarak
- tanımlanması, o özelliklerin ve yöntemlerin sınıf örneğinin oluşturulmasına
- gerek kalmadan erişilebilir olmalarını sağlar. Ancak, <code>static</code>
- olarak bildirilmiş bir özelliğe (statik özellik) örneklenmiş sınıf
- nesnesinden erişilemez (ise de <code>static</code> olarak bildirilmiş bir
- yöntemle erişebilir).
+ Sınıf özelliklerinin ya da yöntemlerinin <code>static</code> olarak
+ tanımlanması, o özelliklerin ve yöntemlerin sınıf örneğinin oluşturulmasına
+ gerek kalmadan erişilebilir olmalarını sağlar.
</para>
<sect2 xml:id="language.oop5.static.methods">
@@ -31,7 +28,7 @@
<para>
Statik yöntemlerin, nesnenin bir örneği oluşturulmadan erişilebilir
olmalarından dolayı, <varname>$this</varname> sözde değişkeni,
- <code>static</code> olarak bildirilmiş bir yöntemin içinde kullanılamaz.
+ <code>static</code> olarak bildirilmiş yöntemlerin içinde kullanılamaz.
</para>
<warning>
@@ -69,8 +66,9 @@ $classname::statikYöntem();
<sect2 xml:id="language.oop5.static.properties">
<title>Statik Özellikler</title>
<para>
- Statik özelliklere, nesne üzerinden ok işleci (->) kullanılarak
- erişilemez.
+ Statik özelliklere, nesne üzerinden ok işleci (->) kullanılarak değil,
+ <xref linkend="language.oop5.paamayim-nekudotayim" />
+ (<literal>::</literal>) kullanılarak erişilebilir.
</para>
<para>
Diğer statik değişkenlerde olduğu gibi statik özellikler
@@ -122,6 +120,22 @@ print $feşmekan->falancaStatik() . "\n";
?>
]]>
</programlisting>
+ &example.outputs.8.similar;
+ <screen>
+<![CDATA[
+falanca
+falanca
+
+Notice: Accessing static property Falanca::$statik as non static in /in/V0Rvv on line 23
+
+Warning: Undefined property: Falanca::$statik in /in/V0Rvv on line 23
+
+falanca
+falanca
+falanca
+falanca
+]]>
+ </screen>
</example>
</sect2>
</sect1>
diff --git a/language/oop5/traits.xml b/language/oop5/traits.xml
index be497c5d..2a9ee730 100644
--- a/language/oop5/traits.xml
+++ b/language/oop5/traits.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.traits" xmlns="http://docbook.org/ns/docbook">
<title>Nitelikler</title>
<para>
@@ -460,9 +460,7 @@ trait NitelikliÖzellik {
class ÖzellikÖrneği {
use NitelikliÖzellik;
- public $aynı = true; // PHP 7.0.0 ve sonrasında izin verilir;
- // öncesinde E_STRICT uyarısı alır.
-
+ public $aynı = true;
public $farklı = true; // ölümcül hata
}
?>
diff --git a/language/oop5/variance.xml b/language/oop5/variance.xml
index 7bde6acd..329ea928 100644
--- a/language/oop5/variance.xml
+++ b/language/oop5/variance.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 84b2eca1809fb0b2a7315cefb8810ca96fbeebb6 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 871df69f47f578c79cad7889f7e27d4b737baf4d Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.variance" xmlns="http://docbook.org/ns/docbook">
<title>Çok Özgüllük ve Az Özgüllük</title>
@@ -14,6 +14,27 @@
bir çocuk yöntemin içinde ebeveyndekinden daha az özellikli olmasına izin
verir.
</para>
+ <para>
+ Aşağıdaki durumda tür belirtiminin daha belirgin olduğu varsayılır:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ Bir <literal>union</literal> tür için tür adı belirtmemek
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Bir sınıf türü yerine çocuk sınıf türü belirtmek
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <type>float</type> yerine <type>int</type> belirtmek
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ Tersi doğruysa, o tür sınıfının daha az belirgin olduğu varsayılır.
+ </para>
<sect2 xml:id="language.oop5.variance.covariance">
<title>Çok Özgüllük</title>
diff --git a/language/oop5/visibility.xml b/language/oop5/visibility.xml
index d657944d..a2cb30bb 100644
--- a/language/oop5/visibility.xml
+++ b/language/oop5/visibility.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9ee9eccf455188ab6eb352194eb6f9eb99e15606 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.visibility" xmlns="http://docbook.org/ns/docbook">
<title>Görünürlük</title>
@@ -8,20 +8,21 @@
Bir özelliğin ya da bir yöntemin (PHP 7.1.0 ve sonrası) görünürlüğü,
bildirim sırasında önüne şu anahtar sözcüklerden biri getirilerek
belirlenebilir:
- <code>public</code>, <code>protected</code> ya da <code>private</code>.
+ <literal>public</literal>, <literal>protected</literal> ya da
+ <literal>private</literal>.
<command>public</command> olarak bildirilmiş özelliklere ve yöntemlere her
yerden erişilebilir. <command>protected</command> bildirimli özelliklere ve
- yöntemlere sadece tanımlandığı sınıfdan, ebeveyn sınıflardan ve miras alınarak
- <command>private</command> bildirimli özelliklere ve yöntemlere ise sadece
- özelliğin tanımlandığı sınıfın içinden erişilebilir.
+ yöntemlere sadece tanımlandığı sınıfdan, ebeveyn sınıflardan ve miras
+ alınarak <command>private</command> bildirimli özelliklere ve yöntemlere
+ ise sadece özelliğin tanımlandığı sınıfın içinden erişilebilir.
</para>
<sect2 xml:id="language.oop5.visiblity-members">
<title>Özelliklerin Görünürlüğü</title>
<para>
- Sınıf özellikleri <code>public</code>, <code>protected</code> ya da
- <code>private</code> olarak tanımlanmalıdır. Bir özellik sadece
- <code>var</code> kullanarak bildirilmişse
- <code>public</code> olarak bildirilmiş gibi ele alınır.
+ Sınıf özellikleri <literal>public</literal>, <literal>protected</literal>
+ ya da <literal>private</literal> olarak tanımlanmalıdır. Bir özellik
+ sadece <literal>var</literal> kullanarak bildirilmişse
+ <literal>public</literal> olarak bildirilmiş gibi ele alınır.
</para>
<para>
<example>
@@ -88,10 +89,10 @@ $nesne2->selamVer(); // Genel2, Öbür korumalı ve Undefined görüntülenir
<sect2 xml:id="language.oop5.visiblity-methods">
<title>Yöntem Görünürlüğü</title>
<para>
- Sınıf yöntemleri <code>public</code>, <code>protected</code> ya da
- <code>private</code> olarak tanımlanmalıdır. Bunlardan herhangi biri
- kullanılmadan yapılmış yöntem tanımlarının <code>public</code>
- kullanılarak tanımlandığı varsayılır.
+ Sınıf yöntemleri <literal>public</literal>, <literal>protected</literal>
+ ya da <literal>private</literal> olarak tanımlanmalıdır. Bunlardan
+ herhangi biri kullanılmadan yapılmış yöntem tanımlarının
+ <literal>public</literal> kullanılarak tanımlandığı varsayılır.
</para>
<para>
<example>
@@ -129,7 +130,7 @@ $sınıfım = new Sınıfım;
$sınıfım->Genel(); // Çalışır
$sınıfım->Korumalı(); // Ölümcül Hata
$sınıfım->Özel(); // Ölümcül Hata
-$sınıfım->Falanca(); // Public, Protected ve Private çalisir
+$sınıfım->Falanca(); // Public, Protected ve Private çalışır
/**
@@ -282,11 +283,11 @@ class Test
public function baz(Test $other)
{
- // private özelliği değiştirebiliriz:
+ // private özelliği değiştirilebilir:
$other->foo = 'hello';
var_dump($other->foo);
- // private yöntemi de çağırabiliriz:
+ // private yöntemi de çağırılabilir:
$other->bar();
}
}