1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-24 15:22:23 +01:00
Files
Nilgün Belma Bugüner 3219417503 fix RelaxNG validation errors
2024-10-29 15:53:44 +03:00

246 lines
7.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 2a5223230bf6177c225003ca30c63f48ef266cc0 Maintainer: nilgun Status: ready -->
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.echo">
<refnamediv>
<refname>echo</refname>
<refpurpose>Bir veya daha fazla dizgeyi çıktılar</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>echo</methodname>
<methodparam rep="repeat"><type>string</type><parameter>ifadeler</parameter></methodparam>
</methodsynopsis>
<simpara>
Tüm bağımsız değişkenlerini çıktılar.
</simpara>
<para>
<literal>echo</literal> aslında bir işlev değil bir dil oluşumudur, yani
bağımsız değişkenlerini yaylı ayraçlar arasına almak gerekmez.
Bağımsız değişkenleri, <literal>echo</literal> anahtar sözcüğünü izleyen,
virgüllerle ayrılmış ve parantez içine alınmamış ifadelerden oluşur.
Diğer bazı dil oluşumlarının aksine, <literal>echo</literal>'nun herhangi
bir dönüş değeri yoktur, bu nedenle bir ifade bağlamında kullanılamaz.
</para>
<para>
<literal>echo</literal> ayrıca kısaltılmış bir sözdizimine de sahiptir.
Bir açan PHP etiketinin ardına bir eşit işareti koyup dizgeyi ardına
yazmanız yeterlidir. Bu kısa sözdizimi <link
linkend="ini.short-open-tag">short_open_tag</link> yapılandırma yönergesi
iptal edilmiş olsa bile kullanılır. Örnek:
<informalexample>
<programlisting role="php">
<![CDATA[
I have <?=$foo?> foo.
]]>
</programlisting>
</informalexample>
</para>
<para>
<function>print</function> işlevine göre başlıca fark
<literal>echo</literal>'nun çok sayıda bağımsız değişken kabul etmesi ve
bir dönüş değerinin olmamasıdır.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>ifadeler</parameter></term>
<listitem>
<para>
Virgüllerle ayrılmış bir veya daha fazla dizge ifadesi.
Dizge olmayan değerler,
<link linkend="language.types.declarations.strict">
<literal>strict_types</literal></link> yönergesi etkin olsa bile
dizgeye zorlanır.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- <literal>echo</literal> örnekleri</title>
<programlisting role="php">
<![CDATA[
<?php
echo "echo için parantez gerekmez";
// Dizgeler ya çoklu bağımsız değişkenler olarak tek tek aktarılır
// ya da birbirlerine eklenip tek bir bağımsız değişken olarak aktarılır
echo 'Bu ', 'dizge ', 'çok sayıda', 'bağımsız değişken ', 'ile yapıldı.', "\n";
echo 'Bu ' . 'dizge ' . 'çok sayıda ' . 'bağımsız değişken ' . 'birbirine eklenerek yapıldı.' . "\n";
// Satırsonu karakteri veya boşluk eklemek gerekmez
// bu iki satır tek satırlık "merhabaDünya" çıktılar
echo "merhaba";
echo "Dünya";
// Yukarıdaki ile aynı sonucu verir
echo "merhaba", "Dünya";
echo "Bu dizge
çok satırlıdır. Satırsonu
karakterleri de çıktılanır.";
echo "Bu dizge\nçok satırlıdır. Satırsonu\nkarakterleri de çıktılanır.";
// Bağımsız değişken bir dizge üreten herhangi bir ifade olabilir
$buda = "Buda";
echo "Bu da $buda"; // Bu da Buda
$meyveler = ["limon", "portakal", "muz"];
echo implode(" ve ", $meyveler); // limon ve porakal ve muz
// declare(strict_types=1) kullanılmış olsa bile
// dizge olmayan ifadeler dizgeye zorlanır
echo 6 * 7; // 42
// echo bir ifade gibi davranmadığından bu ifade geçersizdir
($ifade) ? echo 'true' : echo 'false';
// Ama bu örnek çalışır:
($ifade) ? print 'true' : print 'false'; // print de bir dil oluşumudur, ama
// geçerli bir ifadedir, 1 döndürür,
// dolayısıyla bu bağlamda geçerlidir.
// Burada ifade değerlendirildikten sonra echo'ya aktarılmaktadır
echo $some_var ? 'true': 'false';
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.language-construct;
<note>
<title>- Parantezli kullanım</title>
<para>
Tek bir bağımsız değişkeni parantezlerle çevrelemek bir sözdizimi hatası oluşturmaz
ve normal bir işlev çağrısı gibi görünen sözdizimi üretir. Bununla birlikte,
bu yanıltıcı olabilir, çünkü parantezler aslında <literal>echo</literal>
sözdiziminin bir parçası değil, bağımsız değişken olarak verilen ifadenin bir
parçasıdır.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "hello";
// "hello" basar
echo("hello");
// bu da "hello" basar, çünkü ("hello") geçerli bir ifadedir
echo(1 + 2) * 3;
// "9" basar; parantezler 1+2'nin önce değerlendirilip sonra 3 ile
// çarpılmasını sağlar. İfade değerlendirildikten sonra echo'ya
// aktarıldığından echo ifadenin tümünü tek bir bağımsız değişken olarak görür.
echo "hello", " world";
// "hello world" basar
echo("hello"), (" world");
// "hello world" basar; Parantezler ifadenin parçasıdır
echo("hello", " world");
// Bir çözümleme hatası oluşur, çünkü ("hello", " world") geçersiz bir ifadedir
?>
]]>
</programlisting>
</informalexample>
</note>
<tip>
<para>
<literal>echo</literal>'ya birden çok bağımsız değişken aktarmak, PHP'deki
bitiştirme işlecinin önceliğinden kaynaklanan karışıklıkları önleyebilir.
Örneğin, birleştirme işleci üçlü işleçten daha yüksek önceliğe sahiptir ve
PHP 8.0.0'dan önce toplama ve çıkarma ile aynı önceliğe sahipti:
</para>
<programlisting role="php">
<![CDATA[
<?php
// Önce 'Hello ' . isset($name) ifadesi değerlendirilir,
// sonuç daima true olur, bu bakımdan sadece $name basılır
echo 'Hello ' . isset($name) ? $name : 'John Doe' . '!';
// Amaçlanan davranış daha fazla parantez gerektirir
echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';
// PHP 8.0.0 öncesinde, "Sum: 3" yerine "2" basılırdı
echo 'Sum: ' . 1 + 2;
// Bu kez de parentez eklenerek amaçlanan davranış elde edilebilir
echo 'Sum: ' . (1 + 2);
]]>
</programlisting>
<para>
Çok sayıda bağımsız değişken aktarılırsa önceliği devreye sokmak için parantezler
gerekmez, çünkü her ifade ayrı değerlendirilir:I
</para>
<programlisting role="php">
<![CDATA[
<?php
echo "Hello ", isset($name) ? $name : "John Doe", "!";
echo "Sum: ", 1 + 2;
]]>
</programlisting>
</tip>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>print</function></member>
<member><function>printf</function></member>
<member><function>flush</function></member>
<member><link linkend="language.types.string">Sayısal dizgeleri belirtme
yolları</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->