-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathoverloading.xml
More file actions
142 lines (140 loc) · 4.92 KB
/
overloading.xml
File metadata and controls
142 lines (140 loc) · 4.92 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 669c19f74eba53dc8437027380ecc6a6a59ab0bf Maintainer: nilgun Status: ready -->
<chapter xml:id="mbstring.overload" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>İşlevlerin Aşırı Yüklenme Özelliği</title>
<para>
&warn.deprecated.feature-7-2-0.removed-8-0-0;
</para>
<para>
Genellikle, çalışan bir PHP uygulamasını çok baytlı bir ortamda çalışır duruma
getirmek çoğu kişiye zor gelir. Bu durum genellikle çok baytlı kodlanmış
dizgelerle düzgün şekilde çalışamayan <function>substr</function> gibi standart
dizge işlevleriyle yazılmış PHP uygulamalarında karşımıza çıkar.
</para>
<para>
Mbstring modülü, bir uygulamayı çok baytlı ortamlarda çalışır duruma getirmek
için kod değişikliği yapılmaksızın standart dizge işlevlerinin çok baytlı
taydaşlarının yerini almasını sağlayan 'işlevlerin aşırı yüklenme' özelliğini
destekler. Örneğin, eğer aşırı yükleme etkin kılınmışsa
<function>substr</function> işlevi yerine <function>mb_substr</function> işlevi
çağrılır. Bu özellik, çoğu durumda, sadece tek baytlı karakter kodlamasını
destekleyen uygulamaların çok baytlı karakter kodlaması kullanılan ortamlara
kolayca uyarlanmasını sağlar.
</para>
<para>
İşlevlerin aşırı yüklenmesini sağlamak için &php.ini; dosyasında
<literal>mbstring.func_overload</literal> yönergesine, aşırı yüklenecek işlev
sınıflarını belirten bit maskelerinden oluşan bir değerin atanması gerekir.
<function>mail</function> işlevini aşırı yüklemek için 1, dizge işlevleri için
2, düzenli ifade işlevleri için 4 girmek gerekir. Örneğin, yönergeye 7 değeri
atanırsa bu üç sınıfa ait işlevler aşırı yüklenecektir. Aşırı yüklenebilen
işlevler aşağıda listelenmiştir.
<table>
<title>Aşırı yüklenebilen işlevler</title>
<tgroup cols="3">
<thead>
<row>
<entry>mbstring.func_overload değeri</entry>
<entry>özgün işlev</entry>
<entry>aşırı yükleyen işlev</entry>
</row>
</thead>
<tbody>
<row>
<entry>1</entry>
<entry><function>mail</function></entry>
<entry><function>mb_send_mail</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strlen</function></entry>
<entry><function>mb_strlen</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strpos</function></entry>
<entry><function>mb_strpos</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strrpos</function></entry>
<entry><function>mb_strrpos</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>substr</function></entry>
<entry><function>mb_substr</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strtolower</function></entry>
<entry><function>mb_strtolower</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strtoupper</function></entry>
<entry><function>mb_strtoupper</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>stripos</function></entry>
<entry><function>mb_stripos</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strripos</function></entry>
<entry><function>mb_strripos</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strstr</function></entry>
<entry><function>mb_strstr</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>stristr</function></entry>
<entry><function>mb_stristr</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>strrchr</function></entry>
<entry><function>mb_strrchr</function></entry>
</row>
<row>
<entry>2</entry>
<entry><function>substr_count</function></entry>
<entry><function>mb_substr_count</function></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<note>
<para>
Dizin bağlamında yapılandırmalarda işlevlerin aşırı yüklenme özelliğinin
kullanılması önerilmez. Çünkü, bu özelliğin üretim ortamında kullanılabilecek
kararlılığa sahip olduğu henüz onaylanmamıştır; bu bakımdan önceden
kestirilemeyen bazı davranışlarla karşılaşmak olasıdır.
</para>
</note>
</chapter>
<!-- 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
-->