TOC

This article has been localized into Russian by the community.

Основы PHP:

PHP-теги

В предыдущем параграфе мы воспользовались магией PHP-тегов. Вы можете сохранить свои файлы как .php, но этого будет мало. Конечно, когда вы используете правильное расширение, заданное в файле конфигурации веб-сервера, PHP просмотрит этот файл. Но выполнится только то, что находится между PHP-тегами, а остальное будет просто проигнорировано. Это позволяет смешивать HTMLи PHP в одном файле, в то время как другие технологии вроде ASP.NET стараются разделять код и разметку, PHP все еще поддерживает эту смесь, и позволяет делать это несколькими разными путями.

В предыдущем параграфе мы использовали самый распространенный и самый корректный способ объявления блока с PHP:

Другой способ использует те же теги, что и блоки кода на JavaScript:

<script language="php"> [пишем код тут, без квадратных скобок] </script>

Эти два способа работают всегда. Однако, многие версии PHP настроены так, чтобы поддерживать и краткую запись:

<? [код тут] ?>

На некоторых серверах также поддерживаются теги в стиле ASP. Они выглядят следующим образом:

<% [код тут] %>

Поскольку они могут не поддерживаться на отдельных серверах, предпочтительнее использовать полную запись.

То же касается и специальной выходной (output) версии, которая выглядит следующим образом:

<?= [выходные данные тут] ?>

Предыдущий пример - это то же самое, что написать:

<?php echo "выход тут"; ?>

Как вы можете видеть, вам придется немного попечатать, и если вы пишете код для собственных нужд, может быть проще использовать краткую запись. Просто имейте ввиду, что если вы перенесете код на другой сервер, то там эти опции могут быть отключены.

В и из PHP

При создании веб-страниц, вы, естественно, повсюду используете HTML. Вскоре вам потребуется комбинировать HTML-теги с тем, что сгенерировал PHP. Сейчас это просто:

<?php
$myVar = "Hello world!";
echo "<b>" . $myVar . "</b>";
?>

Мы просто создали текстовую строку, состоящую из трех частей: открывающий тег жирного шрифта (bold), наша переменная и в конце - закрывающий тег bold. Используя оператор "точка", который в PHP склеивает строки, мы выводим все целиком, просто как единый кусок текста. В простых случаях, как тут, такого способа вполне достаточно. Тем не менее, если вам потребуется много HTML с небольшими вставками PHP, такой подход себя не оправдывает. Лучше сделать так:

<?php
$myVar = "Hello world!";
?>
<i>We have HTML <u>all</u> over the place here!</i><br />
<i>But some PHP as well, as you can see:</i><br />
A message from PHP: <b><?php echo $myVar; ?></b>

В этом простом примере у нас гораздо больше чистого HTML, чем кода PHP. Логично выйти из PHP в таком случае и, в соответствии с руководством по PHP, это еще и обеспечит более высокую производительность, чем вывод длиннющего HTML через PHP. Так что, раз мы можем выпрыгнуть из PHP, сможем ли мы запрыгнуть обратно? Конечно. И PHP в целом довольно гибок в этом плане, как показывает следующий пример:

<?php
$myVar = 42;
if($myVar == 42)
{
    ?>
    <b>Yes, the number is in fact 42!</b>    
    <?php
}
?>

Как вы можете видеть, мы выпрыгнули из PHP прямо посреди условного оператора. PHP воспримет это безо всяких проблем. Часть с HTML и текстом выведется, только если переменная $myVar будет равна 42. Попробуйте поменять значение на какое-нибудь другое, и вы увидите, что PHP соблюдает условие, даже если вы смешаете его с простым HTML.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!