docs(ru): Updated to English revision

git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@351449 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Sergey Panteleev
2020-11-19 11:30:40 +00:00
parent 1d9de909fb
commit d8413875d9

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: cdaea0421544885f02ff3d36bd203dc01b78299e Maintainer: shein Status: ready --> <!-- EN-Revision: a71742330defbc0edfbc6822b4f947bf437b2f70 Maintainer: shein Status: ready -->
<!-- Reviewed: yes --> <!-- Reviewed: yes -->
<!-- $Revision$ --> <!-- $Revision$ -->
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook"> <chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook">
@ -15,16 +15,45 @@
открывающих и закрывающих тегов, будет проигнорировано парсером PHP. открывающих и закрывающих тегов, будет проигнорировано парсером PHP.
</para> </para>
<para> <para>
PHP включает в себя короткий echo-тег <literal>&lt;?=</literal>, который является сокращением для более многословного <code>&lt;?php echo</code>. PHP включает в себя короткий echo-тег <literal>&lt;?=</literal>, который является сокращением для более многословного <code>&lt;?php echo</code>.
</para> </para>
<para> <para>
PHP также допускает короткий открывающий тег <literal>&lt;?</literal>, <example>
однако использовать их нежелательно, так как они доступны только если включены с помощью <title>Открывающие и закрывающие теги PHP</title>
конфигурационной директивы &php.ini; <link linkend="ini.short-open-tag">short_open_tag</link>, <programlisting role="php">
либо если PHP был сконфигурирован с опцией <option>--enable-short-tags</option>. <![CDATA[
1. <?php echo 'если вы хотите хранить код PHP в документах XHTML или XML,
то используйте эти теги'; ?>
2. Вы можете использовать короткий 'echo'-тег чтобы <?= 'напечатать эту строку' ?>.
Этот тег эквивалентен такому коду
<?php echo 'напечатать эту строку' ?>.
3. <? echo 'этот код с короткими тегами, но он будет работать только если '.
'включена опция "short_open_tag"'; ?>
]]>
</programlisting>
</example>
</para> </para>
<para>
Короткие теги (третий пример) доступны по умолчанию, но их можно отключить
с помощью директивы <link linkend="ini.short-open-tag">short_open_tag</link> в
конфигурационном файле &php.ini; или отключены по умолчанию, если
PHP был скомпилирован с опцией <option>--disable-short-tags</option>.
</para>
<para>
<note>
<para>
Поскольку короткие теги можно отключить, рекомендуется использовать только обычные
теги (<code>&lt;?php ?&gt;</code> and <code>&lt;?= ?&gt;</code>)
для максимальной совместимости.
</para>
</note>
</para>
<para> <para>
Если файл содержит только код PHP, предпочтительно опустить закрывающий тег в Если файл содержит только код PHP, предпочтительно опустить закрывающий тег в
конце файла. Это помогает избежать добавления случайных символов пробела или перевода конце файла. Это помогает избежать добавления случайных символов пробела или перевода
@ -47,6 +76,7 @@ echo "Последнее выражение";
</informalexample> </informalexample>
</para> </para>
</sect1> </sect1>
<sect1 xml:id="language.basic-syntax.phpmode"> <sect1 xml:id="language.basic-syntax.phpmode">
<title>Изолирование от HTML</title> <title>Изолирование от HTML</title>
<para> <para>
@ -60,22 +90,22 @@ echo "Последнее выражение";
<?php echo 'А это будет обработано.'; ?> <?php echo 'А это будет обработано.'; ?>
<p>Это тоже будет проигнорировано PHP и отображено браузером.</p> <p>Это тоже будет проигнорировано PHP и отображено браузером.</p>
]]> ]]>
</programlisting> </programlisting>
</informalexample> </informalexample>
Это работает так, как и ожидается, потому что когда интерпретатор PHP встречает закрывающие теги ?&gt;, Это работает так, как и ожидается, потому что когда интерпретатор PHP встречает закрывающие теги ?&gt;,
он просто начинает выводить все что найдет (за исключением сразу следующего он просто начинает выводить все что найдет (за исключением сразу следующего
символа перевода строки - смотрите раздел символа перевода строки - смотрите раздел
<link linkend="language.basic-syntax.instruction-separation">разделение инструкций</link>) <link linkend="language.basic-syntax.instruction-separation">разделение инструкций</link>)
пока не встретит другой открывающий тег за исключением случая с пока не встретит другой открывающий тег за исключением случая с
содержащимся внутри кода условным оператором, в котором интерпретатор определяет результат содержащимся внутри кода условным оператором, в котором интерпретатор определяет результат
условия перед принятием решения что пропустить. условия перед принятием решения что пропустить.
Ознакомьтесь со следующим примером. Ознакомьтесь со следующим примером.
</para> </para>
<para> <para>
Использование структур с условиями Использование структур с условиями
<example> <example>
<title>Продвинутое изолирование с использованием условий</title> <title>Продвинутое изолирование с использованием условий</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php if ($expression == true): ?> <?php if ($expression == true): ?>
Это будет отображено, если выражение истинно. Это будет отображено, если выражение истинно.
@ -83,65 +113,29 @@ echo "Последнее выражение";
В ином случае будет отображено это. В ином случае будет отображено это.
<?php endif; ?> <?php endif; ?>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
В этом примере PHP пропускает блоки, где условие не соблюдается. Даже В этом примере PHP пропускает блоки, где условие не соблюдается. Даже
несмотря на то, что они находятся вне пары открывающих/закрывающих тегов, PHP несмотря на то, что они находятся вне пары открывающих/закрывающих тегов, PHP
пропустит их в соответствии с условием, так как интерпретатор PHP будет перепрыгивать через пропустит их в соответствии с условием, так как интерпретатор PHP будет перепрыгивать через
блоки, содержащиеся внутри условия, которое не соблюдается. блоки, содержащиеся внутри условия, которое не соблюдается.
</para> </para>
<para> <para>
При выводе больших блоков текста выход из режима синтаксического разбора PHP При выводе больших блоков текста выход из режима синтаксического разбора PHP
обычно более эффективен, чем отправка текста с помощью функций обычно более эффективен, чем отправка текста с помощью функций
<function>echo</function> или <function>print</function>. <function>echo</function> или <function>print</function>.
</para> </para>
<para> <para>
Также есть короткий echo-тег <code>&lt;?= ?&gt;</code>. <note>
</para> <para>
<para> Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML,
<note> чтобы соответствовать XML стандартам, вам следует использовать форму
<para> &lt;?php ?&gt;.
Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, </para>
чтобы соответствовать XML стандартам, вам следует использовать форму </note>
&lt;?php ?&gt;. </para>
</para>
</note>
</para>
<para>
<example>
<title>Открывающие и закрывающие теги PHP</title>
<programlisting role="php">
<![CDATA[
1. <?php echo 'если вы хотите хранить код PHP в документах XHTML или XML,
то используйте эти теги'; ?>
2. Вы можете использовать короткий 'echo'-тег чтобы <?= 'напечатать эту строку' ?>.
Этот тег эквивалентен такому коду
<?php echo 'напечатать эту строку' ?>.
3. <? echo 'этот код с короткими тегами, но он будет работать только если '.
'включена опция "short_open_tag"'; ?>
]]>
</programlisting>
</example>
</para>
<para>
Короткие теги (третий пример) доступны по умолчанию, но их можно отключить
с помощью директивы <link linkend="ini.short-open-tag">short_open_tag</link> в
конфигурационном файле &php.ini; или отключены по умолчанию, если
PHP был скомпилирован с опцией <option>--disable-short-tags</option>.
</para>
<para>
<note>
<para>
Поскольку короткие теги можно отключить, рекомендуется использовать только обычные
теги (<code>&lt;?php ?&gt;</code> and <code>&lt;?= ?&gt;</code>)
для максимальной совместимости.
</para>
</note>
</para>
</sect1> </sect1>
<sect1 xml:id="language.basic-syntax.instruction-separation"> <sect1 xml:id="language.basic-syntax.instruction-separation">
<title>Разделение инструкций</title> <title>Разделение инструкций</title>
<para> <para>
@ -150,6 +144,31 @@ echo "Последнее выражение";
точку с запятой; т.е. нет необходимости ставить точку с запятой в конце последней точку с запятой; т.е. нет необходимости ставить точку с запятой в конце последней
строки блока с PHP-кодом. Закрывающий тег блока "поглотит" немедленно следующий строки блока с PHP-кодом. Закрывающий тег блока "поглотит" немедленно следующий
за ним переход на новую строку, если таковой будет обнаружен. за ним переход на новую строку, если таковой будет обнаружен.
</para>
<para>
<example>
<title>Пример, показывающий закрывающий тег, охватывающий завершающую новую строку</title>
<programlisting role="php">
<![CDATA[
<?php echo "Какой-то текст"; ?>
Нет новой строки
<?= "А сейчас, новая строка" ?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Какой-то текстНет новой строки
А сейчас, новая строка
]]>
</screen>
</example>
</para>
<para>
Примеры входа и выхода из парсера PHP:
<informalexample> <informalexample>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
@ -210,8 +229,8 @@ echo "Последнее выражение";
<h1>Это <?php # echo "простой";?> пример</h1> <h1>Это <?php # echo "простой";?> пример</h1>
<p>Заголовок вверху выведет 'Это пример'.</p> <p>Заголовок вверху выведет 'Это пример'.</p>
]]> ]]>
</programlisting> </programlisting>
</informalexample> </informalexample>
</para> </para>
<simpara> <simpara>
'C'-комментарии заканчиваются при первой же обнаруженной последовательности 'C'-комментарии заканчиваются при первой же обнаруженной последовательности
@ -229,8 +248,8 @@ echo "Последнее выражение";
*/ */
?> ?>
]]> ]]>
</programlisting> </programlisting>
</informalexample> </informalexample>
</para> </para>
</sect1> </sect1>
</chapter> </chapter>