cvs: phpdoc-ru /language basic-syntax.xml
| From: | Kai Liki | Date: | Sat, 28 Dec 2002 09:52:33 +0000 |
| Subject: | cvs: phpdoc-ru /language basic-syntax.xml | ||
| Groups: | php.doc.ru | ||
| Request: | Send a blank email to doc-ru+get-58@lists.php.net to get a copy of this message | ||
kai Sat Dec 28 04:52:33 2002 EDT
Added files:
/phpdoc-ru/language basic-syntax.xml
Log:
Translated first part
Index: phpdoc-ru/language/basic-syntax.xml
+++ phpdoc-ru/language/basic-syntax.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<chapter id="language.basic-syntax">
<title>Îñíîâíîé ñèíòàêñèñ</title>
<sect1 id="language.basic-syntax.phpmode">
<title>Âñòàâêà â HTML</title>
<para>
Êîãäà PHP ðàçáèðàåò ôàéë, îí ïðîñòî ïåðåäà¸ò åãî
òåêñò, ïîêà íå
âñòðåòèò îäèí èç ñïåöèàëüíûõ òåãîâ, êîòîðûé
ñîîáùàåò åìó î
íåîáõîäèìîñòè íà÷àòü èíòåðïðåòàöèþ òåêñòà êàê êîäà
PHP. Çàòåì îí
âûïîëíÿåò âåñü íàéäåííûé êîä äî çàêðûâàþùåãî òåãà,
ãîâîðÿùåãî
èíòåðïðåòàòîðó, ÷òî äàëåå ñíîâà èäåò ïðîñòî òåêñò.
Ýòîò ìåõàíèçì
ïîçâîëÿåò âàì âíåäðÿòü PHP-êîä â HTML - âñå çà ïðåäåëàìè
òåãîâ PHP
îñòàåòñÿ íåèçìåííûì, òîãäà êàê âíóòðè -
èíòåðïðåòèðóåòñÿ êàê êîä.
</para>
<para>
Ñóùåñòâóåò ÷åòûðå íàáîðà òåãîâ, êîòîðûå ìîãóò áûòü
èñïîëüçîâàíû
äëÿ îáîçíà÷åíèÿ PHP-êîäà. Èç íèõ òîëüêî äâà (<?php. .
.?> è <script
language="php">. . .</script>) âñåãäà äîñòóïíû;
äðóãèå
ìîãóò áûòü âêëþ÷åíû èëè âûêëþ÷åíû â
êîíôèãóðàöèîííîì ôàéëå &php.ini;.
Õîòÿ êîðîòêèå òåãè è òåãè â ñòèëå ASP ìîãóò áûòü
óäîáíû, îíè íå
òàê ïåðåíîñèìû, êàê äëèííûå âåðñèè. Êðîìå òîãî, åñëè
âû íàìåðåâàåòåñü
âñòàâëÿòü PHP-êîä â XML èëè XHTML, ÷òîáû ñîîòâåòñòâîâàòü
XML, âàì
ñëåäóåò èñïîëüçîâàòü ôîðìó <?php. . .?>.
</para>
<para>
Òåãè, ïîääåðæèâàåìûå PHP:
</para>
<para>
<example>
<title>Ñïîñîáû âñòàâêè â HTML</title>
<programlisting role="php">
<![CDATA[
1. <?php echo("åñëè âû õîòèòå ðàáîòàòü ñ äîêóìåíòàìè XHTML
èëè XML, äåëàéòå òàê\n"); ?>
2. <? echo ("ýòî ïðîñòåéøàÿ èíñòðóêöèÿ îáðàáîòêè
SGML\n"); ?>
<?= âûðàæåíèå ?> Ýòî ñèíîíèì äëÿ "<? echo âûðàæåíèå
?>"
3. <script language="php">
echo ("íåêîòîðûå ðåäàêòîðû (íàïðèìåð, FrontPage) íå
ëþáÿò èíñòðóêöèè îáðàáîòêè");
</script>
4. <% echo ("Âû ìîæåòå ïî âûáîðó èñïîëüçîâàòü òåãè â
ñòèëå ASP"); %>
<%= $variable; # Ýòî ñèíîíèì äëÿ "<% echo . . ." %>
]]>
</programlisting>
</example>
</para>
<para>
Ïåðâûé ñïîñîá, <?php. . .?>, íàèáîëåå
ïðåäïî÷òèòåëüíûé, òàê
êàê îí ïîçâîëÿåò èñïîëüçîâàòü PHP â êîäå,
ñîîòâåòñòâóþùåì ïðàâèëàì
XML, òàêîì êàê XHTML.
</para>
<para>
Âòîðîé ñïîñîá íå âñåãäà äîñòóïåí. Êîðîòêèå òåãè
äîñòóïíû òîëüêî
êîãäà îíè âêëþ÷åíû. Ýòî ìîæíî ñäåëàòü, èñïîëüçóÿ
ôóíêöèþ
<function>short_tags</function> (òîëüêî â PHP 3), âêëþ÷èâ
óñòàíîâêó <link
linkend="ini.short-open-tag">short_open_tag</link>
â êîíôèãóðàöèîííîì ôàéëå PHP, ëèáî ñêîìïèëèðîâàâ PHP ñ
ïàðàìåòðîì
--enable-short-tags äëÿ <command>configure</command>. Äàæå åñëè
îíî âêëþ÷åíî ïî óìîë÷àíèþ â php.ini-dist, èñïîëüçîâàíèå
êîðîòêèõ
òåãîâ íå ðåêîìåíäóåòñÿ.
</para>
<para>
×åòâåðòûé ñïîñîá äîñòóïåí òîëüêî åñëè òåãè â ñòèëå
ASP áûëè
âêëþ÷åíû, èñïîëüçóÿ êîíôèãóðàöèîííóþ óñòàíîâêó
<link linkend="ini.asp-tags">asp_tags</link>.
<note>
<para>Ïîääåðæêà òåãîâ â ñòèëå ASP áûëà äîáàâëåíà â
âåðñèè 3.0.4.</para>
</note>
</para>
<note>
<para>
Ñëåäóåò èçáåãàòü èñïîëüçîâàíèÿ êîðîòêèõ òåãîâ ïðè
ðàçðàáîòêå
ïðèëîæåíèé èëè áèáëèîòåê, ïðåäíàçíà÷åííûõ äëÿ
ðàñïðîñòðàíåíèÿ
èëè ðàçìåùåíèÿ íà PHP-ñåðâåðàõ, íå íàõîäÿùèõñÿ ïîä
âàøèì
êîíòðîëåì, òàê êàê êîðîòêèå òåãè ìîãóò íå
ïîääåðæèâàòüñÿ íà
öåëåâîì ñåðâåðå. Äëÿ ñîçäàíèÿ ïåðåíîñèìîãî,
ñîâìåñòèìîãî
êîäà, íå èñïîëüçóéòå êîðîòêèå òåãè.
</para>
</note>
<para>
Çàêðûâàþùèé òåã áëîêà PHP-êîäà âêëþ÷àåò ñðàçó
ñëåäóþùèé çà íèì
ïåðåâîä ñòðîêè, åñëè îí èìååòñÿ. Êðîìå òîãî,
çàêðûâàþùèé òåã
àâòîìàòè÷åñêè ïîäðàçóìåâàåò òî÷êó ñ çàïÿòîé; âàì íå
íóæíî
çàêàí÷èâàòü ïîñëåäíþþ ñòðîêó êîäà â áëîêå òî÷êîé ñ
çàïÿòîé.
</para>
<para>
PHP ïîçâîëÿåò èñïîëüçîâàòü òàêèå ñòðóêòóðû:
<example><title>Ïðîôåññèîíàëüíàÿ âñòàâêà</title>
<programlisting role="php">
<![CDATA[
<?php
if ($expression) {
?>
<strong>Ýòî èñòèíà.</strong>
<?php
} else {
?>
<strong>Ýòî ëîæü.</strong>
<?php
}
?>
]]>
</programlisting>
</example>
Ýòîò êîä ðàáîòàåò òàê, êàê îæèäàåòñÿ, ïîòîìó ÷òî
êîãäà PHP
âñòðå÷àåò çàêðûâàþùèå òåãè ?>, îí ïðîñòî âûâîäèò
âñå, ÷òî îí
íàõîäèò äî ñëåäóþùåãî îòêðûâàþùåãî òåãà.
Ïðèâåäåííûé çäåñü ïðèìåð
êîíå÷íî ïðèäóìàííûé, íî äëÿ âûâîäà áîëüøèõ áëîêîâ
òåêñòà âûõîä èç
ðåæèìà èíòåðïðåòàöèè PHP îáû÷íî áîëåå ýôôåêòèâåí, ÷åì
îòïðàâêà
âñåãî òåêñòà ÷åðåç <function>echo</function>,
<function>print</function> èëè ÷òî-ëèáî ïîäîáíîå.
</para>
</sect1>
<sect1 id="language.basic-syntax.instruction-separation">
<title>Instruction separation</title>
<simpara>
Instructions are separated the same as in C or Perl - terminate
each statement with a semicolon.</simpara>
<para>
The closing tag (?>) also implies the end of the statement, so
the following are equivalent:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "This is a test";
?>
<?php echo "This is a test" ?>
]]>
</programlisting>
</informalexample>
</para>
</sect1>
<sect1 id="language.basic-syntax.comments">
<title>Comments</title>
<para>
PHP supports 'C', 'C++' and Unix shell-style comments. For example:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "This is a test"; // This is a one-line c++ style comment
/* This is a multi line comment
yet another line of comment */
echo "This is yet another test";
echo "One Final Test"; # This is shell-style style comment
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
The "one-line" comment styles actually only comment to the end of
the line or the current block of PHP code, whichever comes
first.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<h1>This is an <?php # echo "simple";?> example.</h1>
<p>The header above will say 'This is an example'.
]]>
</programlisting>
</informalexample>
<simpara>
You should be careful not to nest 'C' style comments, which can
happen when commenting out large blocks.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
/*
echo "This is a test"; /* This comment will cause a problem */
*/
?>
]]>
</programlisting>
</informalexample>
<simpara>
The one-line comment styles actually only comment to the end
of the line or the current block of PHP code, whichever comes first.
This means that HTML code after // ?> WILL be printed: ?> skips out of
the PHP mode and returns to HTML mode, and // cannot influence that.
</simpara>
</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
-->