cvs: phpdoc-ru /language basic-syntax.xml

From: 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-êîäà. Èç íèõ òîëüêî äâà (&lt;?php. . .?&gt; è &lt;script language="php"&gt;. . .&lt;/script&gt;) âñåãäà äîñòóïíû; äðóãèå ìîãóò áûòü âêëþ÷åíû èëè âûêëþ÷åíû â êîíôèãóðàöèîííîì ôàéëå &php.ini;. Õîòÿ êîðîòêèå òåãè è òåãè â ñòèëå ASP ìîãóò áûòü óäîáíû, îíè íå òàê ïåðåíîñèìû, êàê äëèííûå âåðñèè. Êðîìå òîãî, åñëè âû íàìåðåâàåòåñü âñòàâëÿòü PHP-êîä â XML èëè XHTML, ÷òîáû ñîîòâåòñòâîâàòü XML, âàì ñëåäóåò èñïîëüçîâàòü ôîðìó &lt;?php. . .?&gt;. </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> Ïåðâûé ñïîñîá, &lt;?php. . .?&gt;, íàèáîëåå ïðåäïî÷òèòåëüíûé, òàê êàê îí ïîçâîëÿåò èñïîëüçîâàòü 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 âñòðå÷àåò çàêðûâàþùèå òåãè ?&gt;, îí ïðîñòî âûâîäèò âñå, ÷òî îí íàõîäèò äî ñëåäóþùåãî îòêðûâàþùåãî òåãà. Ïðèâåäåííûé çäåñü ïðèìåð êîíå÷íî ïðèäóìàííûé, íî äëÿ âûâîäà áîëüøèõ áëîêîâ òåêñòà âûõîä èç ðåæèìà èíòåðïðåòàöèè 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 (?&gt;) 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 -->

« previous php.doc.ru (#58) next »