-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathreferences.xml
More file actions
89 lines (78 loc) · 2.19 KB
/
Copy pathreferences.xml
File metadata and controls
89 lines (78 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- 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>
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.
</para>
<para>
Bir PHP gönderimi, aynı değeri iki farklı değişkene yazmayı mümkün kılan
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 bağımsız değişkeni 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>
<title>- Gönderimler ve Nesneler</title>
<programlisting role="php">
<![CDATA[
<?php
class A {
public $foo = 1;
}
$a = new A;
$b = $a; // $a ve $b aynı nesne tanıtıcısının kopyalarını içerir
// ($a) = ($b) = <tanıtıcı>
$b->foo = 2;
echo $a->foo."\n";
$c = new A;
$d = &$c; // $c ve $d gönderimdir
// ($c,$d) = <tanıtıcı>
$d->foo = 2;
echo $c->foo."\n";
$e = new A;
function foo($obj) {
// ($obj) = ($e) = <tanıtıcı>
$obj->foo = 2;
}
foo($e);
echo $e->foo."\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2
2
2
]]>
</screen>
</example>
</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
-->