11<?xml version =" 1.0" encoding =" utf-8" ?>
2- <!-- EN-Revision: f4f96ef8b2a95283c92ea2183fe1dedf06f3ad22 Maintainer: shein Status: ready -->
2+ <!-- EN-Revision: 0e618211e53c66f33762be225a4d57c08ef4b2f7 Maintainer: shein Status: ready -->
33<!-- Reviewed: no -->
4- <chapter xml : id =" language.basic-syntax" xmlns =" http://docbook.org/ns/docbook" >
4+ <chapter xml : id =" language.basic-syntax" xmlns =" http://docbook.org/ns/docbook" annotations = " interactive " >
55 <title >Основы синтаксиса</title >
66 <sect1 xml : id =" language.basic-syntax.phptags" >
77 <title >PHP-теги</title >
88 <para >
9- При разборе файла PHP-интерпретатор ищет открывающие и закрывающие теги.
10- Тег <literal >< ?php</literal > сообщает PHP, когда начинать интерпретацию PHP-кода ,
11- а тег < literal >? > </ literal >, когда заканчивать. Такой способ разбора разрешает
12- встраивать PHP-код в разные документы, поскольку PHP-парсер проигнорирует всё,
13- что разместили вне пары открывающего и закрывающего тегов .
9+ При разборе файла PHP-интерпретатор распознаёт открывающие и закрывающие теги
10+ <literal >< ?php</literal > и < literal >? > </ literal > ,
11+ чтобы определить границы выполнения PHP-кода.
12+ PHP-парсер игнорирует содержимое за пределами этих тегов, что разрешает
13+ бесшовно встраивать PHP-код в документы одного или другого типа .
1414 </para >
1515
1616 <para >
17- PHP включает короткий echo-тег <literal >< ?=</literal > —
18- сокращение более многословного синтаксиса <code >< ?php echo</code >.
17+ За тегом <literal >< ?php</literal > обязательно указывают
18+ пробельный символ наподобие пробела, символа табуляции или новой строки,
19+ чтобы правильно разделить токены.
20+ Без пробельного символа возникнет синтаксическая ошибка.
1921 </para >
2022
23+ <para >
24+ PHP также включает короткий echo-тег <literal >< ?=</literal > —
25+ сокращение более многословного синтаксиса <code >< ?php echo</code >.
26+ </para >
27+
2128 <para >
2229 <example >
2330 <title >Открывающие и закрывающие теги PHP</title >
5461 </para >
5562
5663 <para >
57- Лучше опустить PHP-тег, которым закрывают блок PHP-кода в конце файла, если файл состоит только из PHP-кода .
64+ Лучше не закрывать PHP-тегом блок PHP-кода, который стоит в конце файла .
5865 Это предотвращает случайное добавление пробелов или переводов
5966 строк после закрывающего PHP-тега, которые иногда становятся причиной нежелательных
6067 эффектов, поскольку PHP начнёт буферизацию вывода, если программист не намерен
6168 отправлять вывод в этой точке скрипта.
62- <informalexample >
69+ </para >
70+ <para >
71+ <example >
72+ <title >Файл только с PHP-кодом</title >
6373 <programlisting role =" php" >
6474<![CDATA[
6575<?php
6676
67- echo "Hello world ";
77+ echo "Привет, мир!\n ";
6878
69- // ... ещё код
70-
71- echo "Последняя инструкция";
79+ // …ещё код
7280
81+ echo "Последняя инструкция\n";
7382// Скрипт заканчивается в этом месте без PHP-тега, которым закрывается блок кода
7483]]>
7584 </programlisting >
76- </informalexample >
85+ </example >
7786 </para >
7887 </sect1 >
7988
@@ -83,15 +92,20 @@ echo "Последняя инструкция";
8392 PHP-интерпретатор игнорирует всё, что разместили вне пары открывающего и закрывающего тегов,
8493 что разрешает добавлять в файлы смешанное содержимое. Это разрешает встраивать PHP-код
8594 в HTML-документы, чтобы, например, создавать шаблоны.
86- <informalexample >
95+ </para >
96+ <para >
97+ <example >
98+ <title >PHP-код, который встроили в HTML-разметку</title >
8799 <programlisting role =" php" >
88100<![CDATA[
89101<p>PHP-интерпретатор проигнорирует разбор PHP-кода в этом параграфе, а текст отобразится в браузере.</p>
90102<?php echo 'А эту строку файла — разберёт.'; ?>
91103<p>Этот параграф PHP тоже не станет анализировать как PHP-код и отправит в браузер.</p>
92104]]>
93105 </programlisting >
94- </informalexample >
106+ </example >
107+ </para >
108+ <para >
95109 Это работает предсказуемо, поскольку когда PHP-интерпретатор встречает закрывающие теги ?> ,
96110 он просто начинает выводить всё, что находит, — за исключением перевода строки, который
97111 идёт сразу за закрывающим тегом, как описывает раздел
@@ -165,53 +179,61 @@ echo "Последняя инструкция";
165179 </para >
166180
167181 <para >
168- Примеры входа в режим PHP-парсера и выхода из него:
169-
170- <informalexample >
182+ <example >
183+ <title >Примеры входа в режим PHP-парсера и выхода из него</title >
171184 <programlisting role =" php" >
172185<![CDATA[
173186<?php
174- echo 'Это тест';
187+
188+ echo "Это тест\n";
189+
175190?>
176191
177- <?php echo ' Это тест' ?>
192+ <?php echo " Это тест\n" ?>
178193
179- <?php echo 'Мы опустили последний закрывающий тег' ;
194+ <?php echo "Не закрываем блок кода в конце файла PHP-тегом\n" ;
180195]]>
181- </programlisting >
182- </informalexample >
183- <note >
184- <para >
185- Тег, которым закрывается блок PHP-кода в конце файла, необязателен,
186- а при подключении файлов выражением <function >include</function >
187- или <function >require</function > пропуск тега иногда приносит пользу,
188- чтобы нежелательные пробелы не появлялись в конце файлов и не мешали позже
189- добавлять к ответу сервера дополнительные HTTP-заголовки. При буферизации вывода
190- пропуск тега также помогает исключить нежелательные пробелы в конце частей,
191- которые сгенерировали подключаемые файлы.
192- </para >
193- </note >
194- </para >
196+ </programlisting >
197+ </example >
198+ </para >
199+ <para >
200+ <note >
201+ <para >
202+ Тег, которым закрывается блок PHP-кода в конце файла, необязателен,
203+ а при подключении файлов выражением <function >include</function >
204+ или <function >require</function > пропуск тега иногда приносит пользу,
205+ чтобы нежелательные пробелы не появлялись в конце файлов и не мешали позже
206+ добавлять к ответу сервера дополнительные HTTP-заголовки. При буферизации вывода
207+ пропуск тега также помогает исключить нежелательные пробелы в конце частей,
208+ которые сгенерировали подключаемые файлы.
209+ </para >
210+ </note >
211+ </para >
195212 </sect1 >
196213 <sect1 xml : id =" language.basic-syntax.comments" >
197214 <title >Комментарии</title >
198215 <para >
199216 PHP поддерживает комментарии в стиле языков программирования C, C++
200217 и в стиле командной оболочки Unix-систем, которая унаследовала стиль комментариев из языка Perl. Например:
201218
202- <informalexample >
219+ </para >
220+ <para >
221+ <example >
222+ <title >Пример комментариев</title >
203223 <programlisting role =" php" >
204224<![CDATA[
205225<?php
206- echo "Это тест"; // Это однострочный комментарий в стиле языка C++
207- /* Это многострочный комментарий
208- ещё одна строка комментария */
209- echo "Это ещё один тест";
210- echo "Последний тест"; # Это комментарий в стиле Unix-оболочки
226+
227+ echo "Это тест"; // Это однострочный комментарий в стиле языка C++
228+ /* Это многострочный комментарий
229+ ещё одна строка комментария */
230+ echo "Это ещё один тест\n";
231+ echo "Ещё один последний тест\n"; # Это комментарий в стиле Unix-оболочки
232+
211233?>
212234]]>
213235 </programlisting >
214- </informalexample >
236+ </example >
215237 </para >
216238 <simpara >
217239 Однострочные комментарии распространяются только до конца строки PHP-кода
@@ -222,14 +244,15 @@ echo "Последняя инструкция";
222244 или <literal >#</literal > не влияют на это.
223245 </simpara >
224246 <para >
225- <informalexample >
247+ <example >
248+ <title >Пример однострочных комментариев</title >
226249 <programlisting role =" php" >
227250<![CDATA[
228251<h1>Это <?php # echo "простой";?> пример</h1>
229252<p>Заголовок вверху выведет 'Это пример'.</p>
230253]]>
231254 </programlisting >
232- </informalexample >
255+ </example >
233256 </para >
234257 <simpara >
235258 Комментарии в стиле языка C заканчиваются, когда обнаруживается первая последовательность
@@ -242,9 +265,11 @@ echo "Последняя инструкция";
242265 <programlisting role =" php" >
243266<![CDATA[
244267<?php
245- /*
268+
269+ /*
246270 echo "Это тест"; /* Этот комментарий вызовет ошибку */
247- */
271+ */
272+
248273?>
249274]]>
250275 </programlisting >
0 commit comments