com doc/tr: update for sync with English docs.: install/unix/index.xml language/constants.xml language/oop5/abstract.xml language/oop5/anonymous.xml language/oop5/autoload.xml language/oop5/basic.xml language/oop5/cloning.xml language/oop5/constants.xml language/oop5/decon.xml language/oop5/final.xml language/oop5/interfaces.xml language/oop5/iterations.xml language/oop5/late-static-bindings.xml language/oop5/magic.xml language/oop5/object-compar
[email protected] (Nilgün Belma Bugüner) Thu, 14 Jan 2021 21:00:49 +0000
| Newsgroups | php.doc.tr |
|---|---|
| Message-ID | <[email protected]> |
Commit: 9a648041f9c3681f3a68eefc02c1d268419c46eb Author: Nilgün Belma Bugüner <[email protected]> Fri, 15 Jan 2021 00:00:49 +0300 Parents: 1f8e8325d43ed3067a6365a8324a688338f5e2fa Branches: master Link: http://git.php.net/?p=doc/tr.git;a=commitdiff;h=9a648041f9c3681f3a68eefc02c1d268419c46eb Log: update for sync with English docs. Changed paths: M install/unix/index.xml M language/constants.xml M language/oop5/abstract.xml M language/oop5/anonymous.xml M language/oop5/autoload.xml M language/oop5/basic.xml M language/oop5/cloning.xml M language/oop5/constants.xml M language/oop5/decon.xml M language/oop5/final.xml M language/oop5/interfaces.xml M language/oop5/iterations.xml M language/oop5/late-static-bindings.xml M language/oop5/magic.xml M language/oop5/object-comparison.xml M language/oop5/overloading.xml M language/oop5/paamayim-nekudotayim.xml M language/oop5/properties.xml M language/oop5/references.xml M language/oop5/serialization.xml M language/oop5/static.xml M language/oop5/traits.xml M language/oop5/visibility.xml
diff_9a648041f9c3681f3a68eefc02c1d268419c46eb.txt
(text/plain, 59.4 KB)
diff --git a/install/unix/index.xml b/install/unix/index.xml
index ea468b54..844d77b0 100644
--- a/install/unix/index.xml
+++ b/install/unix/index.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 38e583cf8ea3f7b65bf09b9bb12e5a05c269541b Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: dd48d47d8be2ff78295bc1a8605807325d2f11fd Maintainer: nilgun Status: ready -->
<chapter xml:id="install.unix" xmlns="http://docbook.org/ns/docbook">
<title>Unix Sistemlere Kurulum</title>
<para>
diff --git a/language/constants.xml b/language/constants.xml
index 95f3ebfa..dca61968 100644
--- a/language/constants.xml
+++ b/language/constants.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 084d6414ec628d768a38d719443d42438b9ec398 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<chapter xml:id="language.constants" xmlns="http://docbook.org/ns/docbook">
<title>Sabitler</title>
diff --git a/language/oop5/abstract.xml b/language/oop5/abstract.xml
index 0056a9d1..6e1151bf 100644
--- a/language/oop5/abstract.xml
+++ b/language/oop5/abstract.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: d152dc10216193f0d98b3ead2cfcbaaa3b99c06d Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.abstract" xmlns="http://docbook.org/ns/docbook">
<title>Sınıf Soyutlama</title>
<para>
- PHP 5, soyut sınıf ve yöntemlerin kullanımını mümkün kılmıştır. Soyut
+ PHP soyut sınıf ve yöntemlerin kullanımını mümkün kılmıştır. Soyut
olarak tanımlanmış bir sınıf örneklenemez ve en az bir soyut yöntem
içeren bir sınıf da soyut olmalıdır. Soyut olarak tanımlanmış yöntemler o
yöntemlerin imzasıdırlar, gerçeklemenin bütününü temsil edemezler.
@@ -24,8 +24,7 @@
imzaları da eşleşmelidir, örneğin gerekli değiştirgelerin tür ipuçları
ve sayıları aynı olmalıdır. Örneğin bir çocuk sınıf seçimlik bir
değiştirge tanımlarken soyut yöntem bunu yapmıyorsa bir imza uyumsuzluğu
- yoktur. PHP5.4'te bu kuruculara da uygulanır. PHP 5.4 öncesinde kurucu
- imzaları farklı olabilirdi.
+ yoktur.
</para>
<example>
diff --git a/language/oop5/anonymous.xml b/language/oop5/anonymous.xml
index 81e612c0..f4761446 100644
--- a/language/oop5/anonymous.xml
+++ b/language/oop5/anonymous.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: c373ef087f8ba9c2d4358c81edd42c57d1eb7452 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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
+ Anonim sınıflar basit, tek
seferlik nesnelerin oluşturulması gerektiğinde kullanışlıdır.
</para>
@@ -14,7 +14,7 @@
<![CDATA[
<?php
-// PHP 7 öncesi kod
+// Örtük sınıf kullanarak
class Logger
{
public function log($msg)
@@ -25,7 +25,7 @@ class Logger
$util->setLogger(new Logger());
-// PHP 7 sonrası kod
+// Anonim sınıf kullanarak
$util->setLogger(new class {
public function log($msg)
{
@@ -37,8 +37,8 @@ $util->setLogger(new class {
</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
+ 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>
@@ -75,10 +75,10 @@ object(class@anonymous)#1 (1) {
</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
+ 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>
@@ -127,7 +127,7 @@ echo (new Outer)->func2()->func3();
</informalexample>
<para>
- Aynı anonim sınıf bildirimiyle oluşturulan tüm nesneler, bu sınıfın
+ Aynı anonim sınıf bildirimiyle oluşturulan tüm nesneler, bu sınıfın
örnekleridir.
</para>
@@ -156,8 +156,8 @@ aynı sınıf
<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
+ 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>
@@ -176,7 +176,7 @@ class@anonymous/in/oNi1A0x7f8636ad2021
</informalexample>
</note>
</sect1>
-
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
diff --git a/language/oop5/autoload.xml b/language/oop5/autoload.xml
index 2a354d0d..728bbeb6 100644
--- a/language/oop5/autoload.xml
+++ b/language/oop5/autoload.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 71b5a8fe9132b287da51b55290bce09d51512077 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.autoload" xmlns="http://docbook.org/ns/docbook">
<title>Otomatik Yüklenen Sınıflar</title>
@@ -12,7 +12,6 @@
dosya).
</para>
<para>
- PHP 5 ile birlikte bu durum zorunluluk olmaktan çıkmıştır.
<function>spl_autoload_register</function> işlevi, henüz tanımlanmamışlarsa,
sınıfların ve arayüzlerin otomatik olarak yüklenmesini sağlayacak
sayıda otomatik yükleyiciyi kaydeder. Otomatik yükleyicileri
@@ -32,16 +31,6 @@
</tip>
<note>
<para>
- 5.3.0 öncesinde, <code>__autoload</code> işlevinde oluşan istisnalar <link
- linkend="language.exceptions">catch</link> bloğu ile yakalanamaz,
- dolayısıyla ölümcül hata ile sonuçlanır. 5.3.0 ve sonrasında ise,
- özel bir istisna yakalanacaksa özel istisna sınıfının mevcut olmasıyla
- bu mümkündür. <code>__autoload</code> işlevi özel istisna sınıflarını
- iç içe yüklemek için kullanılabilir.
- </para>
- </note>
- <note>
- <para>
PHP CLI'yi <link linkend="features.commandline">etkileşimli kipte</link>
kullanıyorsanız otomatik yükleme kullanılamayacaktır.
</para>
@@ -104,7 +93,7 @@ Fatal error: Interface 'DenemeA' not found in ...
</programlisting>
</example>
<example>
- <title>- 5.3.0 ve sonrasında istisnalı otomatik yükleme</title>
+ <title>- İstisnalı otomatik yükleme</title>
<para>
Bu örnekte bir istisna yakalanmakta ve <literal>try/catch</literal>
kullanımı gösterilmektedir.
@@ -134,7 +123,7 @@ YüklenemezSınıf yüklenemedi.
</screen>
</example>
<example>
- <title>- 5.3.0+ için istisnalı otomatik yükleme - Eksik özel istisna</title>
+ <title>- İstisnalı otomatik yükleme - Eksik özel istisna</title>
<para>
Bu örnek, yüklenemeyen, özel bir istisna için bir istisna yavrular.
</para>
diff --git a/language/oop5/basic.xml b/language/oop5/basic.xml
index 5394cef5..417b8d09 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: 4528db2d91279a8f120bacfd84e48f7e2281d923 Maintainer: nilgun Status: ready-->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready-->
<sect1 xml:id="language.oop5.basic" xmlns="http://docbook.org/ns/docbook">
<title>Temel Kavramlar</title>
@@ -47,24 +47,17 @@ class BasitSınıf
<para>
Bir nesne bağlamı içinden bir yöntem çağırmak için <varname>$this</varname>
diye bir sözde değişken kullanılır. <varname>$this</varname> çağrılan
- nesneye bir gönderimdir (normalde yöntemin ait olduğu nesnedir, ancak eğer
- nesne diğer nesnenin bağlamından <link linkend="language.oop5.static">statik
- olarak</link> çağrılıyorsa, bu başka bir nesne de olabilir). PHP 7.0.0
- itibariyle, uyumsuz bir bağlamda statik olmayan yöntemin statik olarak
- çağrılması, yöntem içinde tanımlanmamış olarak $this ile sonuçlanır.
- Uyumsuz bir bağlamda statik olmayan yöntemin statik olarak çağrılması
- PHP 5.6.0'da önerilmemektedir. PHP 7.0.0 itibariyle, statik olmayan
- yöntemin statik olarak çağrılması genel plarak önerilmemektedir (uyumlu
- bir bağlamdan çağrılsa bile). PHP 5.6.0 öncesinde böyle çağrılar zaten
- E_STRICT seviyesinde bir uyarı tetiklemektedir.
+ nesneye bir gönderimdir.
+ </para>
+ <warning>
+ <para>
+ Statik olmayan yöntemin statik olarak çağrılması
+ <classname>Error</classname> yavrulanmasına sebep olur.
+ PHP 8.0.0 öncesinde bunun kullanımdışı olduğuna dair bir uyarı verilir ve
+ tanımlanmamış olarak $this ile sonuçlanırdı.
</para>
<example xml:id="language.oop5.basic.class.this">
<title>- <varname>$this</varname> sözde değişkeninin kullanımı</title>
- <simpara>
- Bu örnekte hata raporlamanın iptal edildiği varsayılmıştır. Aksi
- takdirde, aşağıdaki kod, PHP sürümüne bağlı olarak E_DEPRECATED ve
- E_STRICT uyarılarını tetiklerdi.
- </simpara>
<programlisting role="php">
<![CDATA[
<?php
@@ -102,25 +95,36 @@ B::bar();
?>
]]>
</programlisting>
- &example.outputs.5;
- <screen>
-<![CDATA[
-$this tanımlı (A)
-$this tanımsız.
-$this tanımlı (B)
-$this tanımsız.
-]]>
- </screen>
&example.outputs.7;
<screen>
<![CDATA[
$this is defined (A)
+
+Deprecated: Non-static method A::foo() should not be called statically in %s on line 27
$this is not defined.
+
+Deprecated: Non-static method A::foo() should not be called statically in %s on line 20
$this is not defined.
+
+Deprecated: Non-static method B::bar() should not be called statically in %s on line 32
+
+Deprecated: Non-static method A::foo() should not be called statically in %s on line 20
$this is not defined.
]]>
</screen>
+ &example.outputs.8;
+ <screen>
+<![CDATA[
+$this is defined (A)
+
+Fatal error: Uncaught Error: Non-static method A::foo() cannot be called statically in %s :27
+Stack trace:
+#0 {main}
+ thrown in %s on line 27
+]]>
+ </screen>
</example>
+ </warning>
</sect2>
<sect2 xml:id="language.oop5.basic.new">
@@ -202,8 +206,7 @@ object(BasitSınıf)#1 (1) {
</screen>
</example>
<para>
- Bir nesnenin örneğini oluşturmak için PHP 5.3.0 ve sonrasında yeni yollar
- kullanılabilmektedir:
+ Bir nesnenin örneğini oluşturmak için yeni yollar kullanılabilmektedir:
</para>
<example>
<title>- Yeni nesneler oluşturmak</title>
@@ -243,8 +246,8 @@ bool(true)
</screen>
</example>
<para>
- PHP 5.4.0 yeni oluşturulmuş bir nesnenin üyesine tek bir ifadede erişme
- imkanını sağladı:
+ Yeni oluşturulmuş bir nesnenin üyesine tek bir ifadede erişmek
+ mümkündür:
</para>
<example>
<title>- Yeni oluşturulmuş bir nesnenin üyesine erişim</title>
@@ -305,7 +308,7 @@ yöntem
Bunun anlamı: Bir özelliğe atanmış bir
<link linkend="functions.anonymous">anonim işlevi</link> doğrudan çağırmak
mümkün değildir. Bunun yerine, özellik önce örneğin bir değişkene
- atanmalıdır. PHP 7.0.0 itibariyle, böyle bir özelliği parantez içine
+ atanmalıdır. Böyle bir özelliği parantez içine
alarak doğrudan çağırmak mümkündür.
</para>
<example>
@@ -326,11 +329,6 @@ class Foo
$obj = new Foo();
-// PHP 5.3.0 ve sonrası:
-$func = $obj->bar;
-echo $func(), PHP_EOL;
-
-// PHP 7.0.0 ve sonrası:
echo ($obj->bar)(), PHP_EOL;
]]>
</programlisting>
@@ -347,12 +345,12 @@ echo ($obj->bar)(), PHP_EOL;
<title><code>extends</code> Anahtar Sözcüğü</title>
<para>
Bir sınıfın bildiriminde <code>extends</code> anahtar sözcüğü
- kullanılarak başka bir sınıfın yöntemleri ve özellikleri miras alınabilir.
+ kullanılarak başka bir sınıfın sabit, yöntem ve özellikleri miras alınabilir.
Çok sayıda sınıfı miras alarak genişlemek mümkün değildir, bir sınıf
sadece bir ana sınıfı miras alabilir.
</para>
<para>
- Miras alınan yöntemler ve özellikler, ebeveyn sınıfta tanımlı
+ Miras alınan sabit, yöntem ve özellikler, ebeveyn sınıfta tanımlı
isimleriyle yeniden bildirilerek geçersiz kılınabilir; bu sadece ebeveyn
sınıfın <link linkend="language.oop5.final">final</link> tanımlı yöntemleri
için yapılamaz. Geçersiz kılınmış yöntemlere ve statik özelliklere <link
diff --git a/language/oop5/cloning.xml b/language/oop5/cloning.xml
index ecaa5174..11c983e1 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: 9093ce1bc60f23330e92e99784eec74d315f151c Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.cloning" xmlns="http://docbook.org/ns/docbook">
<title>Nesne Kopyalama</title>
@@ -138,8 +138,7 @@ KopyalanabilirNesnem Object
</example>
<para>
- PHP 7.0.0 yeni kopyalanmış bir nesnenin üyesine tek bir ifadede erişme
- imkanını sağladı:
+ Yeni kopyalanmış bir nesnenin üyesine tek bir ifadede erişmek mümkündür:
</para>
<example>
<title>- Yeni kopyalanmış nesnenin üyesine erişim</title>
diff --git a/language/oop5/constants.xml b/language/oop5/constants.xml
index db60c77c..57f2dae9 100644
--- a/language/oop5/constants.xml
+++ b/language/oop5/constants.xml
@@ -1,30 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: b08540046ece3586e543293d3c01630d9127b285 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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.
+ <link linkend="language.constants">Sabit</link> değerlerinin her sınıf için
+ ayrı ayrı tanımlanabilmesi mümkündür.
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.
- </para>
+ <note>
+ <para>
+ Sınıf sabitlerini bir çocuk sınıf yeniden tanımlayabilir.
+ </para>
+ </note>
<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.
</para>
<para>
- PHP 5.3.0'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.
+ 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
@@ -47,47 +45,20 @@ class MyClass
echo MyClass::constant . "\n";
$classname = "MyClass";
-echo $classname::CONSTANT . "\n"; // PHP 5.3.0'dan itibaren
+echo $classname::CONSTANT . "\n";
$class = new MyClass();
$class->showConstant();
-echo $class::CONSTANT."\n"; // PHP 5.3.0'dan itibaren
-?>
-]]>
- </programlisting>
- </example>
-
- <example>
- <title>- Statik veri örneği</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-class foo {
- // PHP 5.3.0'dan itibaren
- const BAR = <<<'EOT'
-bar
-EOT;
- // PHP 5.3.0'dan itibaren
- const BAZ = <<<EOT
-baz
-EOT;
-}
+echo $class::CONSTANT."\n";
?>
]]>
</programlisting>
</example>
- <note>
- <para>
- Statik 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,
+ Özel <constant>::class</constant> sabiti ile
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:
+ olup isim alanlı sınıflar için kulllanışlıdır:
</para>
<example>
<title>- İsim alanlı ::class örneği</title>
@@ -104,15 +75,15 @@ namespace foo {
]]>
</programlisting>
</example>
+
<example>
- <title>Sabit ifadesi örneği</title>
+ <title>- Sınıf sabitinde ifade kullanımı</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;
@@ -120,24 +91,15 @@ class foo {
?>
]]>
</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>
- <example>
- <title>- Sınıf sabiti görünürlük değiştiricileri</title>
- <programlisting role="php">
+ <example>
+ <title>- Sınıf sabiti görünürlük değiştiricileri (PHP 7.1.0 ve sonrası)
+ </title>
+ <programlisting role="php">
<![CDATA[
<?php
class Foo {
- // PHP 7.1.0 ve sonrası
public const BAR = 'bar';
private const BAZ = 'baz';
}
diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml
index e447bf15..3fc5b835 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: 72880807af948704e2dd806ff38b08112d39469c Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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>
@@ -262,7 +262,7 @@ $p3 = Product::fromXml($some_xml_string);
<void />
</methodsynopsis>
<para>
- PHP 5, C++ gibi nesne yönelimli dillerdekine benzer bir yıkıcı tasarımına
+ PHP C++ gibi nesne yönelimli dillerdekine benzer bir yıkıcı tasarımına
sahiptir. Yıkıcı yöntem, belli bir nesneye başka bir gönderim yoksa veya
nesne kapanma sırasında açıkça yok edildiği anda çalıştırılacaktır.
</para>
diff --git a/language/oop5/final.xml b/language/oop5/final.xml
index caebb801..52c96814 100644
--- a/language/oop5/final.xml
+++ b/language/oop5/final.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 1ae887f71cee9a2b171e8344cef33af689cfcde0 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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 <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 <emphasis>final</emphasis>
- sözcüğüyle tanımlamışsa o sınıf genişletilemez.
+ 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>
+ sözcüğüyle ile başlayan bir sınıf ise genişletilemez.
</para>
<example>
diff --git a/language/oop5/interfaces.xml b/language/oop5/interfaces.xml
index 4c42cc70..d54dc96f 100644
--- a/language/oop5/interfaces.xml
+++ b/language/oop5/interfaces.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: a9a6224ca97531df0a4e4b9b16b59c3f2baf1b09 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.interfaces" xmlns="http://docbook.org/ns/docbook">
<title>Nesne Arayüzleri</title>
@@ -10,8 +10,8 @@
oluşturmanıza imkan sağlar.
</para>
<para>
- Arayüzler, sınıflardan farklı olarak <literal>class</literal> yerine
- <literal>interface</literal> anahtar sözcüğü kullanılarak ve içeriğinde
+ 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>
@@ -19,9 +19,9 @@
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
+ 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">
@@ -32,13 +32,12 @@
gerçeklenmelidir; aksi takdirde bir ölümcül hata alırsınız. Bir sınıfın,
birden fazla arayüz tanımlaması arayüzler virgülle ayrılarak sağlanabilir.
</para>
- <note>
+ <warning>
<para>
- 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.
+ Bir sınıf, yöntem bildirimleri aynı olan aynı isimli iki arayüzü
+ gerçekleyebilir.
</para>
- </note>
+ </warning>
<note>
<para>
Arayüzler, sınıflar gibi <link linkend="language.oop5.inheritance">
@@ -47,8 +46,8 @@
</note>
<note>
<para>
- Bir arayüzü tanımlayan bir sınıf, bunu LSP (Liskov Substitution Principle)
- ile uyumlu yöntemleri kullanarak yapmalıdır, yoksa işlem ölümcül hata ile
+ Bir arayüzü tanımlayan bir sınıf, bunu LSP (Liskov Substitution Principle)
+ ile uyumlu yöntemleri kullanarak yapmalıdır, yoksa işlem ölümcül hata ile
sonuçlanır.
</para>
</note>
@@ -56,9 +55,9 @@
<sect2 xml:id="language.oop5.interfaces.constants">
<title>Sabitler<literal></literal></title>
<para>
- 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>
+ 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>
@@ -218,7 +217,7 @@ class b implements a
</programlisting>
</example>
<para>
- Bir arayüz tür dayatarak belli bir nesnenin belli yöntemleri içermesini
+ Bir arayüz tür bildirimiyle belli bir nesnenin belli yöntemleri içermesini
sağlayabilir. Ayrıca bakınız:
<link linkend="language.operators.type">instanceof</link> işleci ve
<link linkend="language.types.declarations">Tür Bildirimleri</link>.
diff --git a/language/oop5/iterations.xml b/language/oop5/iterations.xml
index 32f87e37..9de1efbb 100644
--- a/language/oop5/iterations.xml
+++ b/language/oop5/iterations.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: c2aae8928b69ed28b4e61bd7aadb869e5ccb64d8 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.iterations" xmlns="http://docbook.org/ns/docbook">
<title>Nesne Yineleme</title>
<para>
- PHP 5 ile tanımlanan nesneler, &foreach; gibi bir deyim kullanılarak bir
+ Tanımlanan nesneler, &foreach; gibi bir deyim kullanılarak bir
öğe listesi üzerinden yinelenebilirler. Öntanımlı olarak, tüm <link
linkend="language.oop5.visibility">görünür</link> özellikler yineleme
için kullanılacaktır.
@@ -72,7 +72,7 @@ private => private var
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 ve her yinelemede hangi değerlerin kullanılacağına bir
+ yineleneceğine ve her yinelemede hangi değerlerin kullanılacağına bir
nesnenin karar verebilmesi mümkündür.
</para>
@@ -92,34 +92,34 @@ class MyIterator implements Iterator
}
}
- 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()
+ public function valid()
{
$key = key($this->var);
$var = ($key !== NULL && $key !== FALSE);
@@ -163,14 +163,14 @@ geçerli:
</example>
<para>
- <interfacename>IteratorAggregate</interfacename>
+ <interfacename>IteratorAggregate</interfacename>
<link linkend="language.oop5.interfaces">arayüzü</link>,
- <interfacename>Iterator</interfacename> yöntemlerinin tümünü gerçeklemek
+ <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.
+ 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>
@@ -244,11 +244,10 @@ geçerli:
</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.
+ Yineleyicileri tanımlamanın başka bir yolu
+ <link linkend="language.generators">üreteçleri</link> kullanmaktır.
</para>
- </note>
+ </note>
</sect1>
diff --git a/language/oop5/late-static-bindings.xml b/language/oop5/late-static-bindings.xml
index 9c3712ba..45d7a11c 100644
--- a/language/oop5/late-static-bindings.xml
+++ b/language/oop5/late-static-bindings.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: bae6b5c7e070e7969cd99e5d72f9110878a4a538 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.late-static-bindings" xmlns="http://docbook.org/ns/docbook">
<title>Statik İçselleştirim</title>
<para>
- PHP 5.3.0'dan itibaren, miras alınan statik bağlamın çağrıldığı nesne
- bağlamında değerlendirilmesini sağlayan ve statik içselleştirim (İng.:
- <literal>late static bindings</literal>) adı verilen bir özellik eklenmiştir.
+ Statik içselleştirim (İng.: <literal>late static bindings</literal>) ile
+ miras alınan statik bağlam, tanımlandığı nesnenin bağlamında değil,
+ çağrıldığı nesnenin bağlamında değerlendirilir.
</para>
<para>
diff --git a/language/oop5/magic.xml b/language/oop5/magic.xml
index 88928220..d226f59c 100644
--- a/language/oop5/magic.xml
+++ b/language/oop5/magic.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 9e0f03ac354d797d1d16c0fcc1663e5e170f2727 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
<title>Sihirli Yöntemler</title>
@@ -303,19 +303,6 @@ Merhaba
]]>
</screen>
</example>
- <para>
- PHP 5.2.0'dan önce <link linkend="object.tostring">__toString()</link>
- yönteminin, doğrudan <function>echo</function> ya da
- <function>print</function> işlevleri ile birlikte çağrılmadıkça bir önemi
- yoktu. PHP 5.2.0'dan beri sadece dizge bağlamlarında
- (<literal>%s</literal> değiştiricili <function>printf</function>
- gibi) çağrılabilmekte, diğer bağlamlarda (<literal>%d</literal>
- değiştiricili <function>printf</function> gibi) çağrılamamaktadır. PHP
- 5.2.0'dan beri nesneleri
- <link linkend="object.tostring">__toString()</link> yöntemi olmaksızın
- dizgeye dönüştürme işlemi <constant>E_RECOVERABLE_ERROR</constant>
- hatasına yol açmaktadır.
- </para>
</sect2>
<sect2 xml:id="language.oop5.magic.invoke">
@@ -327,13 +314,9 @@ Merhaba
</methodsynopsis>
<para>
- <link linkend="object.invoke">__invoke()</link> yöntemi, bir betik bir nesneyi bir işlev olarak çağırmaya çalışırsa çağrılır.
+ <link linkend="object.invoke">__invoke()</link> yöntemi, bir betik bir
+ nesneyi bir işlev olarak çağırmaya çalışırsa çağrılır.
</para>
- <note>
- <para>
- Bu özellik PHP 5.3.0'dan beri mevcuttur.
- </para>
- </note>
<example>
<title>- <link linkend="object.invoke">__invoke()</link> kullanımı</title>
<programlisting role="php">
@@ -372,9 +355,9 @@ bool(true)
</methodsynopsis>
<para>
- Bu <link linkend="language.oop5.static">statik</link> yöntem, PHP 5.1.0
- sürümünden beri <function>var_export</function> tarafından ihraç edilen
- sınıflar için çağrılmaktadır.
+ Bu <link linkend="language.oop5.static">statik</link> yöntem,
+ <function>var_export</function> tarafından ihraç edilen
+ sınıflar için çağrılır.
</para>
<para>
Bu yöntemin tek değiştirgesi <literal>array('</literal><replaceable
@@ -382,7 +365,8 @@ bool(true)
...)</literal> biçeminde ihraç edilen özellikleri içeren bir dizidir.
</para>
<example>
- <title>- <link linkend="object.set-state">__set_state()</link> kullanımı (PHP 5.1.0 ve sonrası)</title>
+ <title>- <link linkend="object.set-state">__set_state()</link> kullanımı
+ </title>
<programlisting role="php">
<![CDATA[
<?php
@@ -392,7 +376,7 @@ class A
public $var1;
public $var2;
- public static function __set_state($bir_dizi) // PHP 5.1.0'dan beri
+ public static function __set_state($bir_dizi)
{
$obj = new A;
$obj->var1 = $bir_dizi['var1'];
@@ -455,9 +439,6 @@ object(A)#2 (2) {
dökümleneceği zaman bu yöntem <function>var_dump</function> tarafından
çağrılır.
</para>
- <para>
- Bu özellik PHP 5.6.0 sürümünde eklendi.
- </para>
<example>
<title>- <link linkend="object.debuginfo">__debugInfo()</link>
kullanımı</title>
diff --git a/language/oop5/object-comparison.xml b/language/oop5/object-comparison.xml
index e0ee176e..285cf327 100644
--- a/language/oop5/object-comparison.xml
+++ b/language/oop5/object-comparison.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: ead385635aff62492784d1bc32097d7a050f8207 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.object-comparison" xmlns="http://docbook.org/ns/docbook">
<title>Nesnelerin Karşılaştırılması</title>
<para>
Eşitlik işleci (<literal>==</literal>) kullanıldığında, nesne
değişkenleri basit bir mantıkla karşılaştırılır: İki nesne örneği aynı
- özniteliklere ve aynı (<literal>==</literal> ile karşılaştırılan)
+ özniteliklere ve aynı (<literal>==</literal> ile karşılaştırılan)
değerlere sahipse ve ikisi de aynı sınıf tarafından
oluşturulmuşsa bu iki nesne örneği birbirine eşittir.
</para>
@@ -19,7 +19,7 @@
<para>
Bu kuralları bir örnek ile pekiştirelim.
<example>
- <title>- PHP 5'te nesne karşılaştırma örneği</title>
+ <title>- Nesne karşılaştırma örneği</title>
<programlisting role="php">
<![CDATA[
<?php
@@ -100,7 +100,7 @@ o1 !== o2 : DOĞRU
</para>
<note>
<para>
- Eklentiler, kendi nesne karşılaştırmaları (<literal>==</literal>) için
+ Eklentiler, kendi nesne karşılaştırmaları (<literal>==</literal>) için
kendi kurallarını tanımlayabilir.
</para>
</note>
diff --git a/language/oop5/overloading.xml b/language/oop5/overloading.xml
index 20792fae..a96976d3 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: 0c9761150371fbf66ded784d20b71ed4f758354e Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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>
@@ -36,47 +36,6 @@
</para>
</note>
- <sect2 xml:id="language.oop5.overloading.changelog">
- &reftitle.changelog;
- <para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>&Version;</entry>
- <entry>&Description;</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>5.3.0</entry>
- <entry>
- <link linkend="object.callstatic">__callStatic()</link> eklendi.
- Genel etki alanında görünürlüğü ve dinamik bildirimini zorunlu
- kılacak uyarı eklendi.
- </entry>
- </row>
- <row>
- <entry>5.1.0</entry>
- <entry>
- <link linkend="object.isset">__isset()</link> ve
- <link linkend="object.unset">__unset()</link> eklendi.
- Özel özellikleri aşırı yüklemek için
- <link linkend="object.get">__get()</link> eklendi.
- </entry>
- </row>
- <row>
- <entry>5.0.0</entry>
- <entry>
- <link linkend="object.get">__get()</link> eklendi.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </sect2>
-
<sect2 xml:id="language.oop5.overloading.members">
<title>Özelliklerde aşırı yükleme</title>
@@ -129,9 +88,9 @@
Özellikler üzerindeki aşırı yükleme sadece nesne bağlamında çalışır. Bu
sihirli yöntemler statik bağlamda tetiklenmeyecektir. Bu bakımdan, bu
yöntemler <link linkend="language.oop5.static">static</link>
- bildirilmemelidir. PHP 5.3.0'dan itibaren, sihirli aşırı yükleme
- yöntemleri <link linkend="language.oop5.static">static</link>
- bildirildiğinde bir uyarı çıktılanmaktadır.
+ bildirilmemelidir. Sihirli aşırı yükleme yöntemleri
+ <link linkend="language.oop5.static">static</link>
+ bildirilirse bir uyarı çıktılar.
</para>
<note>
@@ -323,7 +282,7 @@ class YöntemSınama
$obj = new YöntemSınama;
$obj->deneBakalım('nesne bağlamında');
-YöntemSınama::deneBakalım('statik bağlamda'); // PHP 5.3.0 ve sonrası
+YöntemSınama::deneBakalım('statik bağlamda');
?>
]]>
</programlisting>
diff --git a/language/oop5/paamayim-nekudotayim.xml b/language/oop5/paamayim-nekudotayim.xml
index 8d0cbdf0..57f9f000 100644
--- a/language/oop5/paamayim-nekudotayim.xml
+++ b/language/oop5/paamayim-nekudotayim.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 3e823762fd850c92306d53b0b25c7a7667245280 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.paamayim-nekudotayim" xmlns="http://docbook.org/ns/docbook">
<title>Etki Alanı Çözünürlük İşleci (::)</title>
@@ -20,7 +20,7 @@
</para>
<para>
- PHP 5.3.0 ve sonrasında, bu işlecin solunda sınıf ismi yerine bir değişken
+ Bu işlecin solunda sınıf ismi yerine bir değişken
kullanmak da mümkündür. Değişken ismi, (<literal>self</literal>,
<literal>parent</literal>, <literal>static</literal> gibi) bir anahtar
sözcük olmamalıdır.
@@ -72,7 +72,7 @@ class BaşkaSınıf extends Sınıfım
}
$sınıfadı = 'BaşkaSınıf';
-$sınıfadı::ikiNoktaÇifti(); // PHP 5.3.0 ve sonrası
+$sınıfadı::ikiNoktaÇifti();
BaşkaSınıf::ikiNoktaÇifti();
?>
diff --git a/language/oop5/properties.xml b/language/oop5/properties.xml
index 561cdf6c..5087565e 100644
--- a/language/oop5/properties.xml
+++ b/language/oop5/properties.xml
@@ -1,21 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.properties" xmlns="http://docbook.org/ns/docbook">
<title>Özellikler</title>
<para>
Sınıf üyesi değişkenlere <emphasis>özellik</emphasis> denir. Bunlara
bazan <emphasis>öznitelik</emphasis> veya <emphasis>alan</emphasis>
- dendiğini de görürsünüz, fakat bu kılavuzun amaçları doğrultusunda
+ dendiği de olur, fakat bu kılavuzun amaçları doğrultusunda
biz <emphasis>özellik</emphasis> terimini kullanacağız. Bunlar normal
değişken bildiriminin önüne <literal>public</literal>,
<literal>protected</literal> veya <literal>private</literal> anahtar
- sözcüklerinden biri ve ardından isteğe bağlı bir tür bildirimi getirilerek
- bildirilir. Bu bildirim, bir ilklendirme olarak da yapılabilir; bu durumda
- bir sabit değerle ilklendirme yapılmalıdır. Yani, derleme sırasında
- değerlendirilebilmeli ve değerlendirilmek için çalışma anı bilgisine
- bağlı olmamalıdır.
+ sözcüklerinden biri ve PHP 7.4 itibariyle ardından isteğe bağlı bir tür
+ bildirimi getirilerek bildirilir. Bu bildirim, bir ilklendirme olarak da
+ yapılabilir; bu durumda bir <link linkend="language.constants">sabit</link>
+ değerle ilklendirme yapılmalıdır.
</para>
<para>
<literal>public</literal>, <literal>protected</literal>,
@@ -24,21 +23,10 @@
</para>
<note>
<para>
- PHP 4 ile geriye uyumluluğu sağlamak için, PHP 5 özellik bildiriminde
- <literal>public</literal>, <literal>protected</literal>,
- veya <literal>private</literal> yerine (veya ek olarak) hala
- <literal>var</literal> sözcüğü kabul edilmektedir. Ancak,
- <literal>var</literal> artık gerekli değildir. PHP'nin 5.0'dan 5.1.3'e
- kadar olan sürümlerinde, <literal>var</literal> kullanımı önerilmeyen
- kullanım olarak ele alınır ve bir <constant>E_STRICT</constant> uyarısı
- çıktılanırdı; PHP 5.1.3'ten beri önerilmeme durumu ortadan kalkmış olup bir
- uyarı çıktılanmamaktadır.
- </para>
- <para>
- Bir özelliği <literal>public</literal>, <literal>protected</literal>,
- veya <literal>private</literal> yerine <literal>var</literal> kullanarak
- bildirirseniz PHP 5 özelliği <literal>public</literal> olarak bildirilmiş
- gibi ele alır.
+ Sınıf özelliklerini bildirmenin diğer bir yolu, önerilmemekle birlikte,
+ PHP 4 ile geriye uyumluluğu sağlamak için, <literal>var</literal>
+ sözcüğünü kullanmaktır. Böyle bir durumda özellik <literal>public</literal>
+ bildirilmiş gibi ele alır.
</para>
</note>
<para>
@@ -67,14 +55,11 @@
<?php
class SimpleClass
{
- // PHP 5.6.0 ve sonrasında geçerli:
public $var1 = 'hello ' . 'world';
- // PHP 5.3.0 ve sonrasında geçerli:
public $var2 = <<<EOD
hello world
EOD;
- // PHP 5.6.0 ve sonrasında geçerli:
public $var3 = 1+2;
// geçersiz özellik bildirimleri:
@@ -83,9 +68,8 @@ EOD;
// geçerli özellik bildirimleri:
public $var6 = myConstant;
- public $var7 = array(true, false);
+ public $var7 = [true, false];
- // PHP 5.3.0 ve sonrasında geçerli:
public $var8 = <<<'EOD'
hello world
EOD;
@@ -103,44 +87,12 @@ EOD;
</para>
</note>
- <sect2 xml:id="language.oop5.properties.heredoc-nowdoc">
- <title>Yorumlu ve Yorumsuz Metinler</title>
- <para>
- PHP 5.3.0 ve sonrasında,
- <link linkend="language.types.string.syntax.nowdoc">Yorumsuz
- metinler</link>, <link linkend="language.types.string.syntax.heredoc">
- yorumlu metinler</link> ve özellik bildirimleri herhangi bir
- statik veri bağlamında kullanılabilir.
- <example>
- <title>- Özellik ilklendirmede yorumsuz metin kullanımı</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-class foo {
- // PHP 5.3.0'dan beri
- public $bar = <<<'EOT'
-bar
-EOT;
- public $baz = <<<EOT
-baz
-EOT;
-}
-?>
-]]>
- </programlisting>
- </example>
- </para>
- <note>
- <para>
- Yorumlu ve yorumsuz metin desteği PHP 5.3.0'da eklenmiştir.
- </para>
- </note>
- </sect2>
-
<sect2 xml:id="language.oop5.properties.typed-properties">
<title>Tür Bildirimleri</title>
<para>
- PHP 7.4.0 ve sonrasında özellik tanımı tür bildirimi içerebilmektedir.
+ PHP 7.4.0 ve sonrasında özellik tanımı bir <type>callable</type>
+ istisnası ile <link linkend="language.types.declarations">tür
+ bildirimi</link> içerebilmektedir.
<example>
<title>- Tür ile özellik bildirimi</title>
<programlisting role="php">
@@ -237,100 +189,6 @@ Fatal error: Uncaught Error: Typed property Shape::$numberOfSides must not be ac
</screen>
</example>
</para>
- <sect3 xml:id="language.oop5.properties.typed-properties.valid-types">
- <title>Geçerli özellik türleri</title>
- <informaltable>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Tür</entry>
- <entry>Açıklama</entry>
- <entry>En küçük PHP sürümü</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><type>bool</type></entry>
- <entry>
- Özellik <type>bool</type> türünde olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><type>int</type></entry>
- <entry>
- Özellik <type>int</type> türünde olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><type>float</type></entry>
- <entry>
- Özellik <type>float</type> türünde olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><type>string</type></entry>
- <entry>
- Özellik <type>string</type> türünde olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><type>array</type></entry>
- <entry>
- Özellik <type>array</type> türünde olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><literal>object</literal></entry>
- <entry>
- Özellik <type>object</type> türünde olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><literal>iterable</literal></entry>
- <entry>
- Özellik ya <type>array</type> türünde olmalı ya da bir
- <interfacename>Traversable</interfacename> örneği olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><literal>self</literal></entry>
- <entry>
- Özellik tanımlandığı sınıfın bir örneği olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry><literal>parent</literal></entry>
- <entry>
- Özellik tanımlandığı sınıfın ebeveyninin bir örneği olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry>Sınıf/arayüz ismi</entry>
- <entry>
- Özellik, ismi verilen sınıf veya arayüzün bir örneği olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- <row>
- <entry>?type</entry>
- <entry>
- Özellik belirtilen türde veya &null; olmalıdır.
- </entry>
- <entry>PHP 7.4.0</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect3>
</sect2>
</sect1>
diff --git a/language/oop5/references.xml b/language/oop5/references.xml
index f429a5ca..a508e9ec 100644
--- a/language/oop5/references.xml
+++ b/language/oop5/references.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 5c05004b296957e2744d32ebfacc362871422b66 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.references" xmlns="http://docbook.org/ns/docbook">
<title>Nesneler ve Gönderimler</title>
<para>
- PHP 5 için nesne yönelimli programlama ile ilgili olarak "öntanımlı olarak
+ Nesne yönelimli programlama ile ilgili olarak "öntanımlı olarak
nesneler gönderimli aktarılır" diye bir kanı oluşmuştur, fakat bu tamamen
doğru değildir. Bu bölümde bir örnek üzerinden bu genel kanı düzeltilmeye
çalışılmıştır.
@@ -12,12 +12,12 @@
<para>
Bir PHP gönderimi, aynı değeri iki farklı değişkene yazmayı mümkün kılan
- bir takma addır. PHP 5'ten itibaren bir nesne değişkeni artık değer
- olarak nesnenin kendisini içermemektedir. Bunun yerine, nesne erişimcilerin
- asıl nesneyi bulmasını sağlayacak bir nesne tanıtıcısı içerir. Bir nesne
- değiştirgesi ile aktarılırken, döndürülürken veya başka bir değişkene
- atanırken bunlar takma ad değil, farklı değişkenlerdir: Aynı nesneyi
- gösteren tanıtıcının birer kopyasını içerirler.
+ bir takma addır. Bir nesne değişkeni değer olarak nesnenin kendisini içeremez.
+ Bunun yerine, nesne erişimcilerin asıl nesneyi bulmasını sağlayacak bir
+ nesne tanıtıcısı içerebilir. Bir nesne değiştirgesi ile aktarılırken,
+ döndürülürken veya başka bir değişkene atanırken bunlar takma ad değil,
+ farklı değişkenlerdir: Aynı nesneyi gösteren tanıtıcının birer kopyasını
+ içerirler.
</para>
<example>
diff --git a/language/oop5/serialization.xml b/language/oop5/serialization.xml
index e921994a..c4009db1 100644
--- a/language/oop5/serialization.xml
+++ b/language/oop5/serialization.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 1fc0b05670b5f6ad20e3a4aad30a491eca7a2659 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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>
@@ -66,16 +66,6 @@
</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 otomatik 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
diff --git a/language/oop5/static.xml b/language/oop5/static.xml
index 39b2ae9f..f9ff1302 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: 7e52ec86851a62d1d00109ccffa5dab5c73e5cc2 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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>
@@ -25,13 +25,6 @@
yöntemle erişebilir).
</para>
- <para>
- PHP 4 ile uyumluluğun sağlanabilmesi için, eğer bir özellik veya yöntem
- için hiçbir <link linkend="language.oop5.visibility" >görünürlük</link>
- tanımı yapılmamışsa <literal>public</literal> olarak tanımlanmış
- varsayılır.
- </para>
-
<sect2 xml:id="language.oop5.static.methods">
<title>Statik Yöntemler</title>
@@ -41,20 +34,16 @@
<code>static</code> olarak bildirilmiş bir yöntemin içinde kullanılamaz.
</para>
- <caution>
- <simpara>
- PHP 5'te, statik olmayan özellikler statikmiş gibi çağrılırsa
- <constant>E_STRICT</constant> seviyesinde bir uyarı üretilir.
- </simpara>
- </caution>
-
<warning>
- <simpara>
- PHP 7'de, statik olmayan yöntemlerin statik olarak çağrılması artık
- önerilmemekte olup bir <constant>E_DEPRECATED</constant> uyarısı
- üretir.warning. statik olmayan yöntemlerin statik olarak çağrılması
- desteği yakında kaldırılabilir.
- </simpara>
+ <para>
+ Statik olmayan yöntemlerin statik olarak çağrılması
+ bir <classname>Error</classname> yavrulanmasına sebep olur.
+ </para>
+ <para>
+ PHP 8.0.0 öncesinde ise, statik olmayan yöntemlerin statik olarak
+ çağrılması önerilmemekte ve bir <constant>E_DEPRECATED</constant>
+ uyarısı üretmekteydi.
+ </para>
</warning>
<example>
@@ -70,7 +59,7 @@ class Foo {
Foo::statikYöntem();
$classname = 'Foo';
-$classname::statikYöntem(); // PHP 5.3.0 ve sonrası
+$classname::statikYöntem();
?>
]]>
</programlisting>
@@ -84,16 +73,14 @@ $classname::statikYöntem(); // PHP 5.3.0 ve sonrası
erişilemez.
</para>
<para>
- PHP 5.6 öncesinde diğer statik değişkenlerde olduğu gibi statik özellikler
- de sadece bir sayıl veya sabit kullanılarak ilklendirilebilir; ifadelere
- izin verilmez. PHP 5.6.0 ve sonrasında &const; için geçerli kurallar
- uygulanır: bazı sınırlı ifadeler mümkündür, bunlar derleme sırasında
- değerlendirilir.
+ Diğer statik değişkenlerde olduğu gibi statik özellikler
+ &const; ifadeleri için geçerli kurallarla ilklendirilebilir: Bazı
+ sınırlı ifadeler mümkündür, bunlar derleme sırasında değerlendirilir.
</para>
<para>
- PHP 5.3.0 ve sonrasında, bir sınıfa bir değişken kullanarak gönderim
- yapılabilmektedir. Böyle bir değişkenin değeri <literal>self</literal>,
+ Bir sınıfa bir değişken kullanarak gönderim yapılabilir.
+ Böyle bir değişkenin değeri <literal>self</literal>,
<literal>parent</literal> veya <literal>static</literal> gibi bir anahtar
sözcük olamaz.
</para>
@@ -127,7 +114,7 @@ print $falanca->statik . "\n"; // Tanımsız "Özellik" statik
print $falanca::$statik . "\n";
$sınıfadı = 'Falanca';
-print $sınıfadı::$statik . "\n"; // PHP 5.3.0 ve sonrası
+print $sınıfadı::$statik . "\n";
print Feşmekan::$statik . "\n";
$feşmekan = new Feşmekan();
diff --git a/language/oop5/traits.xml b/language/oop5/traits.xml
index d35d77ac..be497c5d 100644
--- a/language/oop5/traits.xml
+++ b/language/oop5/traits.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 796ebb7fa127283377acf69fa9a9c3637ae2cd97 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: nilgun Status: ready -->
<sect1 xml:id="language.oop5.traits" xmlns="http://docbook.org/ns/docbook">
<title>Nitelikler</title>
<para>
- PHP 5.4.0 itibariyle, PHP tekrar tekrar kullanılabilen bir yöntem kodu olarak
- <literal>trait</literal> isminı kullanarak nitelikleri tanımlamıştır.
+ PHP tekrar tekrar kullanılabilen bir yöntem kodu olarak
+ <literal>trait</literal> ismini kullanarak nitelikleri tanımlamıştır.
</para>
<para>
Nitelikler, PHP gibi tek kalıtımlı dillerde kodun yeniden
@@ -243,13 +243,6 @@ class Aliased_Talker {
]]>
</programlisting>
</example>
- <note>
- <para>
- 7.0 öncesinde, bir nitelikteki gibi, bir özelliği ayni isimli bir sınıf
- içinde tanımlamak, sınıf tanımı uyumlu ise (aynı görünürlük ve ilk
- değer), bir <constant>E_STRICT</constant> hatasına yol açar.
- </para>
- </note>
</sect2>
<sect2 xml:id="language.oop5.traits.visibility">
@@ -454,9 +447,6 @@ $örnek = new ÖzellikÖrneği;
Bir nitelik bir özellik tanımlarsa sınıf aynı isimde bir özellik (uyumlu
- aynı görünürlük ve ilk değer - olmadıkça) tanımlayamaz, aksi takdirde
bir hata oluşur.
- 7.0 öncesinde, bir nitelikteki gibi, bir özelliği ayni isimli bir sınıf
- içinde tanımlamak, sınıf tanımı uyumlu ise (aynı görünürlük ve ilk
- değer), bir <constant>E_STRICT</constant> hatasına yol açar.
</para>
<example xml:id="language.oop5.traits.properties.conflicts">
<title>- Çelişki yaratma örneği</title>
diff --git a/language/oop5/visibility.xml b/language/oop5/visibility.xml
index 972fb952..d657944d 100644
--- a/language/oop5/visibility.xml
+++ b/language/oop5/visibility.xml
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 70fb482c26ecfb7b95b1484ebb73a14f272c9871 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 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>
<para>
- 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
+ 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>.
<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
+ 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>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.
</para>
@@ -83,16 +83,8 @@ $nesne2->selamVer(); // Genel2, Öbür korumalı ve Undefined görüntülenir
</programlisting>
</example>
</para>
- <note>
- <simpara>
- PHP 4'te bir değişken bildiriminde (<code>public</code> yerine)
- kullanılan <emphasis>var</emphasis> anahtar sözcüğü uyumluluk adına
- hala desteklenmektedir. PHP 5'in 5.1.3 sürümünden önceki sürümlerinde
- <emphasis>var</emphasis> kullanımı bir <constant>E_STRICT</constant>
- uyarısına sebep olurdu.
- </simpara>
- </note>
</sect2>
+
<sect2 xml:id="language.oop5.visiblity-methods">
<title>Yöntem Görünürlüğü</title>
<para>
@@ -200,7 +192,7 @@ $fo->dnm(); // Bar::dnmÖzel
<title>Sabit Görünürlüğü</title>
<para>
PHP 7.1.0 ve sonrasında, sınıf sabitleri public, private veya
- protected olarak tanımlanabilir. Bu sözcükler olmaksızın tanımlanmış
+ protected olarak tanımlanabilir. Bu sözcükler olmaksızın tanımlanmış
sabitlerin public olarak tanımlandıkları varsayılır.
</para>
<para>
@@ -265,8 +257,8 @@ $myclass2->foo2(); // genel ve korumalı çalışır, özel çalışmaz
<sect2 xml:id="language.oop5.visibility-other-objects">
<title>Diğer nesnelerden görünürlük</title>
<para>
- Aynı türdeki nesneler, aynı örnekler olmasalar bile, diğerlerinin özel ve
- korunan üyelerine erişime sahip olacaktır. Bunun sebebi, gerçeklenime özgü
+ Aynı türdeki nesneler, aynı örnekler olmasalar bile, diğerlerinin özel ve
+ korunan üyelerine erişime sahip olacaktır. Bunun sebebi, gerçeklenime özgü
ayrıntıların bu nesnelerin içindeyken zaten biliniyor olmasıdır.
</para>
<example>