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 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<chapter id="language.basic-syntax">
<title>Temel sz dizimi</title>
<!--
NOTE: Last modified: 2001-05-16 13:00 GMT
the language part is currently under heavy revision. Please do not
not make any heavy (i.e. structural) modifications to this part
for a moment.
You'd also better not start any translation yet.
Comments are always welcome at phpdoc@lists.php.net
Progress:
intro : DOESN'T EXIST - yet?
new chapter, with some introductionary remarks?
Will be discussed on the ML soon.
basic-syntax:
FINISHED
except maybe moving the 'advanced escaping'
to a better place?
TODO:
- nada
types : Being revised. Added all new types
Boolean and Integer are more or less finished.
The rest isn't.
TODO:
- why is $foo[bar] bad syntax?
- what's the difference between unset($bla) and
$bla = NULL; (it is different!)
- $obj->{expr} syntax
- (unset) cast?????
- $bla = unset <== should've been nuked, don't mention it
- $str{offset} syntax, rather than $str[offset]
- read notes and apply when any of them are useful
- remove notes which have been included here.
- ...
the rest: Not yet started with.
TODO:
- ?
oop : has been revised by Kristian, DONE.
-->
<sect1 id="language.basic-syntax.phpmode">
<title>HTML'den Kaış</title>
<para>
PHP bir dosyayı okurken, kendisine taranan metnin PHP kodu olduğunu
syleyen zel etiketlerden birine rastlayıncaya kadar dosyadaki metni işlemeden
geirmekle yetinir. Bu etiketler arasındaki kod ise, bir sonlandırma etiketiyle
karşılaşılıncaya kadar alıştırılır, ve sonlandırma etiketiyle birlikte tekrar işlemeden
geirme işlemine devam edilir. Bu mekanizma, PHP'yi HTML kodunun iine
gmme imkanı sağlar: PHP etiketlerinin dışındaki her şey olduğu gibi bırakılır,
ierdeki her şey kod kabul edilerek taranır.
</para>
<para>
PHP kod bloğunu belirtmek iin drt farklı etiket biimi vardır. Bunlardan
yalnızca iki tanesi (<?php. . .?> ve <script
language="php">. . .</script>) her zaman mevcuttur; diğerleri
<filename>php.ini</filename> konfigrasyon dosyası iersinden aılabilir
ya da kapatılabilir. Kısaltılmış etiketler ve ASP-tipi etiketler kullanışlı olabilir,
ancak uzun biimleri kadar taşınabilir değildirler. Ayrıca, PHP kodunu XML ya da
XHTML kodunun iine gmmek istiyorsanız, XML ile uyum sağlamak iin
<?php. . .?> biimini kullanmalısınız.
</para>
<para>
PHP tarafından desteklenen etiketler:
</para>
<para>
<example>
<title>HTML'den kama yntemleri</title>
<programlisting role="php">
<![CDATA[
1. <? echo ("bu en basit, SGML benzeri kullanimdir\n"); ?>
<?= expression ?> kullanımı bu kullanımın kısaltılmışıdır "<? echo expression ?>"
2. <?php echo("XHTML ya da XML dokmanlari sunuyorsaniz, bu sekilde yapin\n"); ?>
3. <script language="php">
echo ("bazi editrler (FrontPage gibi) bu kullanimi sevmezler");
</script>
4. <% echo ("Tercihe bagli olarak ASP-tipi etiketler kullanabilirsiniz"); %>
<%= $variable; # "<% echo . . ." %> iin kisaltilmis kullanimdir
]]>
</programlisting>
</example>
</para>
<para>
İlk kullanım biimi yalnızca kısa etiket kullanımı etkinleştirilmişse mevcuttur.
Bu işlem <function>short_tags</function> ile (yalnızca PHP 3),
PHP ayar dosyasındaki <link
linkend="ini.short-open-tag">short_open_tag</link> konfigrasyon seeneği
etkinleştirilerek, ya da PHP <command>configure</command> alıştırılırken
--enable-short-tags eklenerek yapılabilir.
</para>
<para>
İkinci yol genel olarak tercih edilen yntemdir, PHP'nin XHTML gibi XML-uyumlu kodlar
ile birlikte uyum iersinde alışmasını sağlar.
</para>
<para>
Drdnc yol yalnızca ASP-tipi etiketler <link linkend="ini.asp-tags">asp_tags</link>
konfigrasyon ayarı etkinleştirilmişse kullanılabilir.
<note>
<para>ASP-tipi etiketler iin destek 3.0.4 srmnde eklenmiştir.</para>
</note>
</para>
<para>
Kod bloğu iersinde kullanılan sonlandırma etiketi otomatik olarak bloğun
sonuna bir yeni satır işareti ekleyecektir. Ayrıca, sonlandırma etiketi
otomatik olarak noktalı virgl uygulamasını yapar; PHP bloğunun son satırını
noktalı virgl ile kapatmaz zorunda değilsiniz.
</para>
<para>
PHP aşağıdakine benzer yapıların kullanımına imkan tanır:
<example><title>Gelişmiş kaış</title>
<programlisting role="php">
<![CDATA[
<?php
if ($expression) {
?>
<strong>Sonu dogru.</strong>
<?php
} else {
?>
<strong>Sonu yanlis.</strong>
<?php
}
?>
]]>
</programlisting>
</example>
Bu kendisinden beklendiği gibi alışır, nk PHP ?> sonlandırma etiketi
ile karşılaştığında, bir başlatma etiketi ile karşılaşana kadar bulduğu her şeyi
bakmadan geirmekle yetinir. Buradan verilen rnek elbette gereksiz gzkebilir,
ama geniş metin bloklarının ıktısı verilirken, PHP tarama modundan ıkmak
genellikle btn metni <function>echo</function> ya da <function>print</function>
ile vermekten daha verimlidir.
</para>
</sect1>
<sect1 id="language.basic-syntax.instruction-separation">
<title>Komut ayrımı</title>
<simpara>
Komutlar birbirlerinden C ya da Perl'de olduğu gibi ayrılırlar - btn komutlar
noktalı virgl ile sonlandırılır.
</simpara>
<para>
Sonlandırma etiketi (?>) aynı zamanda komutun sona erdiğini belirtir,
bu nedenle aşağıdaki iki kullanım birbirine denktir:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "Bu bir denemedir";
?>
<?php echo "Bu bir denemedir" ?>
]]>
</programlisting>
</informalexample>
</para>
</sect1>
<sect1 id="language.basic-syntax.comments">
<title>Yorumlar</title>
<para>
PHP, 'C', 'C++' ve Unix kabuk-tipi yorum kullanımını destekler. rneğin:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "Bu bir denemedir"; // Bu tek satirlik c++ tipi yorumdur
/* Bu coklu satir yorumudur
ve bir baska satir daha */
echo "Bu diger bir testtir";
echo "Son Bitis Testi"; # Bu kabuk-tipi yorumdur
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
"tek-satırlık" yorum kullanımı genellikle satır sonunda ya da geerli PHP
kod bloğunun sonunda kullanılır.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<h1>Bu bir <?php # echo "basit";?> rnektir.>/h1>
<p>Yukardaki baslik 'Bu bir rnektir' yazdiracaktir.</p>
]]>
</programlisting>
</informalexample>
<simpara>
'C' tipi yorumları birbirlerinin iine geirmemeye dikkat edin, bu durum
zellikle byk blokları yorum iine alırken gerekleşebilir.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
/*
echo "Bu bir denemedir"; /* Bu yorum soruna neden olur */
*/
?>
]]>
</programlisting>
</informalexample>
</sect1>
</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:"../../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
-->
|