mirror of
https://github.com/php/doc-pl.git
synced 2026-03-24 23:22:07 +01:00
275 lines
9.3 KiB
XML
275 lines
9.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: f4f96ef8b2a95283c92ea2183fe1dedf06f3ad22 Maintainer: cyb0org Status: ready -->
|
|
<!-- $Revision$ -->
|
|
<!-- CREDITS: adi, sobak -->
|
|
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Podstawowa składnia</title>
|
|
<sect1 xml:id="language.basic-syntax.phptags">
|
|
<title>Znaczniki PHP</title>
|
|
<para>
|
|
Kiedy PHP przetwarza plik, szuka otwierających i zamykających znaczników (tagów)
|
|
(są nimi <literal><?php</literal> i <literal>?></literal>),
|
|
które mówią PHP o rozpoczęciu i zakończeniu interpretowania kodu pomiędzy
|
|
nimi. Przetwarzanie w taki sposób pozwala zagnieżdzać PHP w dowolnym
|
|
rodzaju dokumentów, ponieważ wszystko poza parą
|
|
znaczników, otwierającym i zamykającym jest ignorowane przez parser PHP.
|
|
</para>
|
|
<para>
|
|
PHP pozwala także na użycie krótkiego tagu drukującego <literal><?=</literal>,
|
|
który jest skrótem dla dłuższego <code><?php echo</code>.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>PHP Opening and Closing Tags</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
1. <?php echo 'jeśli chcesz umieścić kod PHP w dokumentach XHTML lub XML,
|
|
wtedy użyj tych tagów'; ?>
|
|
|
|
2. Możesz użyć krótkich tagów drukujących aby <?= 'wydrukować ten ciąg znaków' ?>.
|
|
Jest to równoważne z <?php echo 'drukowanie tego ciągu znaków' ?>.
|
|
|
|
3. <? echo 'ten kod jest pomiędzy krótkimi tagami, ale zadziała tylko wtedy'.
|
|
'kiedy włączone jest short_open_tag'; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
Krótkie tagi (przykład trzeci) są domyślnie dostępne, ale mogą zostać wyłączone
|
|
przez dyrektywę <link linkend="ini.short-open-tag">short_open_tag</link>
|
|
&php.ini; w pliku konfiguracyjnym, lub być domyślnie wyłączone jeżeli
|
|
PHP jest zbudowane z konfiguracją <option>--disable-short-tags</option>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Ponieważ krótkie tagi mogą być wyłączone zaleca się używanie jedynie normalnych
|
|
tagów (<code><?php ?></code> and <code><?= ?></code>) aby
|
|
maksymalnie zwiększyć kompatybilność.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>
|
|
Jeżeli plik zawiera jedynie kod PHP, zaleca się pominięcie zamykającego tagu PHP na końcu pliku.
|
|
Zapobiega to dodaniu przypadkowych białych znaków lub nowych linii dodanych po zamknięciu bloku PHP,
|
|
co może spowodować niechciane efekty ponieważ PHP zacznie buforowanie wyjścia, gdy nie było to intencją
|
|
programisty na tym etapie wykonywania skryptu.
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Witaj, świecie!";
|
|
|
|
// ... więcej kodu
|
|
|
|
echo "Ostatnie wyrażenie";
|
|
|
|
// skrypt kończy się w tym miejscu, bez tagu zamykającego PHP
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.phpmode">
|
|
<title>Wyskakiwanie z HTML</title>
|
|
<para>
|
|
Wszystko na zewnątrz tagów PHP jest ignorowane przez parser, co pozwala plikom PHP
|
|
mieć mieszaną zawartość. To pozwala na zagnieżdżanie PHP w plikach HTML, na przykład
|
|
w celu stworzenia szablonów.
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<p>To zostanie zignorowane przez PHP i wyświetlone w przeglądarce.</p>
|
|
<?php echo 'Podczas gdy to zostanie sparsowane.'; ?>
|
|
<p>To także zostanie zignorowane przez PHP i wyświetlone w przeglądarce.</p>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
To działa tak, jak się spodziewano, ponieważ kiedy interpreter PHP natrafi na zamykający
|
|
znacznik ?>, poprostu zaczyna wyświetlać cokolwiek znajdzie (z wyjątkiem
|
|
bezpośrednio następującej nowej linii - zobacz
|
|
<link linkend="language.basic-syntax.instruction-separation">oddzielanie instrukcji</link>)
|
|
dopóki nie natrafi na kolejny otwierający znacznik - chyba, że znajdzie się to wewnątrz
|
|
instrukcji warunkowej; w tym wypadku interpreter najpierw sprawdzi wynik instrukcji, aby
|
|
zdecydować co pominąć.
|
|
Zobacz kolejny przykład:
|
|
</para>
|
|
<para>
|
|
Wykorzystanie struktur z warunkami
|
|
<example>
|
|
<title>Zaawansowane wyskakiwanie przy użyciu warunków</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php if ($expression == true): ?>
|
|
To pokaże się, jeżeli wyrażenie jest prawdziwe.
|
|
<?php else: ?>
|
|
W przeciwnym wypadku pokaże się to.
|
|
<?php endif; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
W tym przykładzie PHP pominie bloki, gdzie warunek nie jest spełniony, nawet
|
|
jeżeli są one poza tagami PHP. PHP pomija je odpowiednio do warunku,
|
|
ponieważ interpreter przeskakuje bloki zawarte w instrukcji, która nie została
|
|
spełniona.
|
|
</para>
|
|
<para>
|
|
Dla wyświetlania większych ilości tekstu, wyjście z trybu parsowania PHP
|
|
jest ogólnie rzecz biorąc bardziej wydajne niż wysyłanie całego tekstu przez
|
|
funkcje <function>echo</function> lub <function>print</function>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Zauważ również, że jeśli zagnieżdzasz PHP w XML lub XHTML
|
|
musisz stosować znaczniki <?php ?> aby pozostać
|
|
w zgodzie ze standardami.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.instruction-separation">
|
|
<title>Oddzielanie instrukcji</title>
|
|
<para>
|
|
Podobnie jak C i Perl, PHP wymaga aby instrukcje były zakończone
|
|
średnikiem, na końcu każdego wyrażenia. Zamykający znacznik bloku
|
|
kodu PHP automatycznie implikuje średnik; nie musisz mieć
|
|
średnika zamykającego ostatnią linię z bloku PHP. Zamykający znacznik
|
|
dla bloku będzie zawierać bezpośrednio następujący
|
|
końcowy znak nowej linii jeśli ten znacznik istnieje.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Przykład pokazujący zamykający znacznik, który obejmuje końcowy znak nowej linii</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php echo "Jakiś tekst"; ?>
|
|
Brak znaku nowej linii
|
|
<?= "Ale teraz już z nową linią" ?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Jakiś tekstBrak znaku nowej linii
|
|
Ale teraz już z nową linią
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
Przykłady wejścia i wyjścia z parsera PHP:
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo 'To jest test';
|
|
?>
|
|
|
|
<?php echo 'To jest test' ?>
|
|
|
|
<?php echo 'Pominęliśmy ostatni zamykający znacznik';
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
<note>
|
|
<para>
|
|
Zamykający znacznik bloku PHP na końcu pliku jest opcjonalny,
|
|
i w niektórych przypadkach pominięcie jego jest pomocne kiedy używamy
|
|
<function>include</function> lub <function>require</function>, aby
|
|
niechciane białe znaki nie znajdowały się na końcu pliku, i ciągle
|
|
było możliwe późniejsze dodanie nagłówków do odpowiedzi. To jest także poręczne jeśli używane jest
|
|
buferowania wyjścia, i nie chcemy zobaczyć dodanych niechcianych białych znaków
|
|
na końcu cześci generowanej przez załączony plik.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
<sect1 xml:id="language.basic-syntax.comments">
|
|
<title>Komentarze</title>
|
|
<para>
|
|
PHP obsługuje komentarze w stylu 'C', 'C++' i powłoki Unix (styl Perl\'a). Na przykład:
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo 'To jest test'; // To jest jednoliniowy komentarz w stylu c++
|
|
/* To jest wieloliniowy komentarz
|
|
jeszcze jedna linia komentarza */
|
|
echo 'To jest jeszcze jeden test';
|
|
echo 'Ostatni Test'; # To jest jednoliniowy komentarz w stylu powłoki
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</para>
|
|
<simpara>
|
|
"Jednolinijkowy" styl komentarzy obowiązuje jedynie do konca
|
|
linii lub bieżącego bloku kodu PHP, cokolwiek wystąpi pierwsze.
|
|
Co oznacza, że kod HTML za <literal>// ... ?></literal>
|
|
lub <literal># ... ?></literal> ZOSTANIE wyświetlony:
|
|
?> przerywa tryb PHP i wraca do trybu HTML, i
|
|
<literal>//</literal> lub <literal>#</literal> nie może na to wpłynąć.
|
|
</simpara>
|
|
<para>
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<h1>To jest <?php # echo 'prosty';?> przykład</h1>
|
|
<p>Nagłowek powyżej będzie mówił 'To jest przykład'.</p>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</para>
|
|
<simpara>
|
|
Komentarze w stylu 'C' kończą się na pierwszym napotkanym <literal>*/</literal>.
|
|
Upewnij się, że nie zagnieżdżasz komentarzy w stylu 'C'. Łatwo jest popełnić
|
|
pomyłkę, jeśli próbujesz odkomentować duży blok kodu.
|
|
</simpara>
|
|
<para>
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/*
|
|
echo 'To jest test'; /* Ten komentarz będzie przyczyną problemów */
|
|
*/
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</para>
|
|
</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:"~/.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
|
|
-->
|