1
0
mirror of https://github.com/php/doc-ro.git synced 2026-03-24 07:22:11 +01:00
Files
archived-doc-ro/language/basic-syntax.xml
Simion Onea 0df8a47ac7 Updated the translation.
git-svn-id: https://svn.php.net/repository/phpdoc/ro/trunk@351122 c90b9560-bf6c-de11-be94-00142212c4b1
2020-11-02 07:41:37 +00:00

250 lines
9.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- $Author$ -->
<!-- EN-Revision: cdaea0421544885f02ff3d36bd203dc01b78299e Maintainer: simionea Status: ready -->
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook">
<title>Sintaxa de bază</title>
<sect1 xml:id="language.basic-syntax.phptags">
<title>Tag-uri PHP</title>
<para>
Când PHP parsează un fișier, se uită după tag-urile de deschidere și închidere,
acestea sunt <literal>&lt;?php</literal> și <literal>?&gt;</literal>,
care indică când PHP începe și termină interpretarea codului dintre ele.
Parsarea în această manieră permite PHP să fie încorporat în tot felul de documente,
pentru că orice este în afara perechii de tag-uri de deschidere și închidere este
ignorat de către parsatorul PHP.
</para>
<para>
PHP include un tag scurt echo <literal>&lt;?=</literal>, care este o versiune
prescurtată pentru <code>&lt;?php echo</code>.
</para>
<para>
De asemenea, PHP permite tag scurt de deschidere <literal>&lt;?</literal>
(nu se încurajează folosirea lui deoarece este valabil numai activând directiva
<link linkend="ini.short-open-tag">short_open_tag</link> din fișierul de configurare &php.ini;,
sau dacă PHP a fost configurat cu opțiunea <option>--enable-short-tags</option>).
</para>
<para>
Dacă un fișier conține numai cod PHP, este de preferat omiterea tag-ului de închidere PHP de la
sfârșitul paginii. Aceasta previne spațiu gol accidental sau noi rânduri adăugate după tag-ul
de închidere PHP, ceea ce ar cauza efecte nedorite deaorece PHP va începe buferizarea ieșirii
când nu este nici o intenție din partea programatorului să trimită vre-o ieșire la acel punct
din script.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "Hello world";
// ... more code
echo "Ultima declarație";
// script-ul se termină aici fără tag de închidere
]]>
</programlisting>
</informalexample>
</para>
</sect1>
<sect1 xml:id="language.basic-syntax.phpmode">
<title>Evadarea din HTML</title>
<para>
Totul ce se află în afara perechilor de tag-uri de deschidere și închidere este ignorat de către
parsatorul PHP, ceea ce permite fișierelor PHP să aibă conținut mixt. Aceasta permite
PHP să fie încorporat în documente HTML, de exemplu pentru a crea șabloane.
<informalexample>
<programlisting role="php">
<![CDATA[
<p>Acesta va fi ignorat de PHP și afișat în browser.</p>
<?php echo 'În timp ce acesta va fi parsat.'; ?>
<p>Acesta va fi de asemenea ignorat de PHP și afișat în browser.</p>
]]>
</programlisting>
</informalexample>
Aceasta funcționează conform așteptărilor, deoarece când PHP întâlnește tag-ul de închidere,
pur și simplu începe să afișeze tot ce găsește (cu excepția trecerii la linie nouă ce urmează imediat după acesta - vezi
<link linkend="language.basic-syntax.instruction-separation">separarea instrucțiunilor</link>)
până când dă de un alt tag de deschidere, doar dacă nu este în mijlocul unei declarații
condiționale, caz în care interpretatorul va determina rezultatul condiționalului înainte
de a lua o decizie peste ce să sară.
Vezi următorul exemplu.
</para>
<para>
Utilizarea structurilor cu condiții
<example>
<title>Evadare avansată folosind condiții</title>
<programlisting role="php">
<![CDATA[
<?php if ($expression == true): ?>
Aceasta se va afișa dacă expresia este adevărată.
<?php else: ?>
Altfel aceasta va fi afișat.
<?php endif; ?>
]]>
</programlisting>
</example>
În acest exemplu PHP va sări peste blocurile unde conționalul nu este îndeplinit,
chiar dacă sunt în afara tag-urilor PHP de deschidere/închidere; PHP sare peste ele conform
condițiilor, deoarece interpretatorul PHP va sări peste blocurile condiției neîndeplinite.
</para>
<para>
Pentru afișarea blocurilor mari de text, în general ieșirea din parsatorul PHP este
mai eficientă decât trimiterea întregului text prin
<function>echo</function> sau <function>print</function>.
</para>
<para>
De asemenea există tag-ul scurt de afișare <code>&lt;?= ?&gt;</code>.
</para>
<para>
<note>
<para>
De asemenea rețineți că dacă încorporați PHP în XML sau XHTML va trebui să folosiți
tag-urile &lt;?php ?&gt; pentru a vă conforma standardelor.
</para>
</note>
</para>
<para>
<example>
<title>Tag-uri PHP de deschidere și închidere</title>
<programlisting role="php">
<![CDATA[
1. <?php echo 'dacă vrei să folosești cod PHP în documente XHTML sau XML
folosește aceste tag-uri'; ?>
2. Puteți utiliza tag-ul scurt de afișare pentru a <?= 'afișa aceasta' ?>.
Aceasta este echivalent cu <?php echo 'afișa aceasta' ?>.
3. <? echo 'acest cod este între tag-uri scurte și va funcționa doar dacă '.
'opțiunea short_open_tag este activată'; ?>
]]>
</programlisting>
</example>
</para>
<para>
Tag-uri scurte (exemplul trei) sunt disponibile implicit, dar pot fi
dezactivate cu ajutorul directivei
<link linkend="ini.short-open-tag">short_open_tag</link> din fișierul de
configurare &php.ini;, sau dacă PHP a fost configurat cu opțiunea
<option>--disable-short-tags</option>.
</para>
<para>
<note>
<para>
Deoarece tag-urile scurte pot fi dezactivate, se recomandă utilizarea doar
a tag-urilor normale (<code>&lt;?php ?&gt;</code> și <code>&lt;?= ?&gt;</code>)
pentru a maximiza compatibilitatea.
</para>
</note>
</para>
</sect1>
<sect1 xml:id="language.basic-syntax.instruction-separation">
<title>Separarea instrucțiunilor</title>
<para>
Precum în C sau Perl, PHP necesită ca instrucțiunile să fie terminate cu punct și virgulă.
Tag-ul de închidere al unui bloc de cod PHP implică automat
punct și virgulă; nu trebuie să aveți punct și virgulă la finalul ultimului rând al unui bloc PHP.
Tag-ul de închidere pentru bloc va include și trecerea la linia nouă imediat următoare, dacă aceasta este prezentă.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo 'Acesta este un test';
?>
<?php echo 'Acesta este un test' ?>
<?php echo 'Am omis ultimul tag de închidere';
]]>
</programlisting>
</informalexample>
<note>
<para>
Tag-ul de închidere al unui bloc PHP la sfârșitul unui fișier este opțional
și, în anumite cazuri, omiterea lui este folositoare când se folosesc <function>include</function>
sau <function>require</function>, astfel încât nu apar spații goale nedorite la sfârșitul
fișierelor, și veți putea să adăugați antete la răspuns mai târziu. Este de asemenea comod dacă
folosiți buferizarea ieșirii, și nu este de dorit vizualizarea spațiului gol la sfârșitul
părții generate de fișierele incluse.
</para>
</note>
</para>
</sect1>
<sect1 xml:id="language.basic-syntax.comments">
<title>Comentarii</title>
<para>
PHP suportă comentarii 'C', 'C++' sau stil Unix shell (stil Perl). De exemplu:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo 'Acesta este un test'; // Acesta este un comentariu de un rând tip C++
/* Acesta este un comentariu multi-rând
înca un rând de comentariu */
echo 'Acesta este încă un test';
echo 'Un Test Final'; # Acesta este un comentariu de un rând stil shell
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Comentariul stil "un rând" comentează până la sfârșitul liniei sau blocului curent de cod PHP, oricare
dintre acestea survine mai întâi. Aceasta înseamnă că codul HTML după <literal>// ... ?&gt;</literal>
sau <literal># ... ?&gt;</literal> VA FI afișat:
?&gt; iese din modul PHP și intră în modul HTML, iar
<literal>//</literal> sau <literal>#</literal> nu pot influența acest lucru.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<h1>Acesta este un <?php # echo 'simplu';?> exemplu</h1>
<p>Antetul de deasupra va arăta 'Acesta este un exemplu'.</p>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Comentariile în stil "C" se termină la primul <literal>*/</literal> întâlnit.
Asigurați-vă că nu încorporați comentarii în stil "C" unul în altul. Este ușor de făcut această greșeală
dacă încercați să comentați un bloc mare de cod.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
/*
echo 'Acesta este un test'; /* Acest comentariu va cauza o problemă */
*/
?>
]]>
</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
-->