Основний синтаксисТеги PHP
Коли парсер PHP обробляє файл, то шукає спеціальні початковий та кінцевий
теги, тобто <?php та ?>, які
вказують PHP, що текст між ними потрібно виконати як код. Такий алгоритм
дозволяє вбудовувати PHP-код у різні документи, оскільки дані за межами
спеціальних тегів ігноруються парсером PHP.
PHP має echo-тег <?=, який є скороченим варіантом
<?php echo.
Початковий та кінцевий теги PHP
2. Можна застосувати короткий echo-тег, щоб = 'надрукувати цей рядок' ?>.
Це те саме, що й .
3. echo 'Цей код записано всередині коротких тегів, але він спрацює тільки, якщо '.
'short_open_tag увімкнено.'; ?>
]]>
Початково короткі теги (приклад 3) доступні, але можуть бути вимкнені
директивою short_open_tag файлу
налаштувань &php.ini;, або під час збирання інтерпретатора, додавши до рядка
конфігурації прапорець .
Оскільки короткі теги можна вимкнути, то для найкращої сумісності
рекомендується використовувати звичайні теги (<?php ?>
та <?= ?>).
Якщо файл містить тільки PHP-код, бажано не використовувати кінцевий
PHP-тег. Бо якщо після кінцевого тегу вписані випадкові пропуски або символи
початку рядка, PHP розпочне буферизацію виводу, коли програміст не має
наміру надсилати будь-який вивід у цій точці сценарію.
Відмежування від HTML
Все, що за межами пари початкового та кінцевого тегів, ігнорується
парсером PHP. Таким чином можна обробляти PHP-файли зі змішаним
вмістом, тобто вбудовувати PHP-код в HTML-документи, наприклад, для
створення шаблонів.
Ця частина коду буде проігнорована PHP, але показана в браузері.
І цей код також буде проігноровано PHP, але показано в браузері.
]]>
Такий код обробляється як і очікується, оскільки коли парсер PHP зчитує
кінцевий тег ?>, інтерпретатор просто починає виводити все, що записано
далі аж до наступного початкового тегу. Але є два винятки, коли
інтерпретатор не виводить вміст після кінцевого тегу: по-перше, якщо
безпосередньо далі йде символ нового рядка, про це можна прочитати на
сторінці поділ
інструкцій; по-друге, якщо наступний текст записано всередині
умовного оператора (в такому разі інтерпретатор визначає результат умови,
від якого залежить, що саме виводити). Наступний приклад показує, як це
виглядає.
Використання структур з умовами.
Розмежування коду PHP та HTML з використанням умовних операторів
Цей текст буде показано, якщо змінна $expression матиме значення true,
тобто вираз if ($expression == true) буде дійсним.
А інакше буде виводитись цей текст.
]]>
В цьому прикладі PHP буде пропускати ті блоки, де умова виразу не
виконується навіть, якщо ці блоки знаходяться за межами початкового та
кінцевого PHP-тегів. PHP-інтерпретатор просто "перестрибне" їх.
Для виводу великих блоків тексту, вихід з PHP-режиму є більш ефективним, ніж
виведення всього тексту через echo чи
print.
Вставляючи блоки PHP всередину XML чи XHTML, потрібно використовувати
теги <?php ?>, щоб код відповідав стандартам цих розміток.
Поділ інструкцій
Як і C чи Perl, PHP вимагає завершення інструкцій символом крапки з комою в
кінці кожного виразу. Кінцевий тег в блоці PHP-коду автоматично виконуватиме
роль символа крапки з комою. Тобто не потрібно завершувати останній рядок
PHP-блоку символом крапки з комою. Кінцевий тег також зумовить видалення
символа нового рядка, що йде безпосередньо після нього.
Приклад з кінцевим тегом та символом нового рядка
Немає нового рядка
= "А тут є" ?>
]]>
&example.outputs;
Приклади входу та виходу з парсера PHP:
Кінцевий тег PHP-блока в кінці файлу є необов'язковим, а в деяких випадках
з конструкціями include чи
require його відсутність є корисною, оскільки
випадковий пропуск в кінці файлу не додається у вивід, а також залишається
можливість додавати заголовки для відповіді пізніше. Також це зручно під
час буферизації виводу, коли пропуски в кінці частини виводу, згенерованої
підключеним файлом — небажані.
Коментарі
PHP підтримує коментарі в стилі "C", "C++", Unix та shell (Perl). Наприклад:
]]>
Однорядкові коментарі діють тільки до кінця рядка або блока PHP-коду,
дивлячись, що йде першим. Це означає, що HTML-код після
// ... ?> чи # ... ?> БУДЕ
надруковано, оскільки кінцевий тег ?> перериває PHP-режим та вмикає
вивід тексту і // чи # не впливають на
це.
Це приклад
Заголовок, що у верхньому рядку, буде виводити 'Це приклад'.
]]>
Коментарі в стилі "C" завершуються, коли зустрічається перша ж послідовність
*/. Потрібно обережно використовувати такі коментарі та
перевіряти, чи не створено вкладених коментарів в такому ж стилі. Часто це
стається, якщо намагатись закоментувати великий блок коду.
]]>