Глава 10. Основен синтаксис

Съдържание
Излизане от HTML
Разделяне на инструкции
Коментари

Излизане от HTML

Когато PHP прави разбор на файл, той просто преминава през текста на файла докато срещне един от специалните тагове, които да му укажат да започне интерпретирането на текста като PHP код. Тогава синтактичният анализатор изпълнява целия код, който намери, докато стигне до затварящ PHP таг, който да му укаже да продължи да преминава през текста. Това е механизмът, който ви позволява да вмъквате PHP код в HTML: всичко извън PHP таговете се оставя непокътнато, докато всичко вътре в тях се обработва от синтактичния анализатор като код.

Има четири групи тагове, които могат да бъдат използвани за обозначаване на блоковете PHP код. От тях само две (<?php. . .?> и <script language="php">. . .</script>) винаги са налични; другите могат да бъдат включвани или изключвани от конфигурационния файл php.ini. Докато късата форма на таговете и тези в ASP стил могат да бъдат удобни, те не са толкова преносими колкото дългите варианти. Също така, ако възнамерявате да вмъквате PHP код в XML или XHTML, ще трябва да използвате <?php. . .?> формата, за дa бъде съобразен с XML.

Таговете, поддържани от PHP, са:

Пример 10-1. Начини за излизане от HTML

1.  <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>

2.  <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"
    
3.  <script language="php">
        echo ("some editors (like FrontPage) don't
              like processing instructions");
    </script>

4.  <% echo ("You may optionally use ASP-style tags"); %>
    <%= $variable; # This is a shortcut for "<% echo . . ." %>

Първият начин, <?php. . .?>, е за предпочитане, тъй като той позволява употребата на PHP в XML-пригоден код, като XHTML.

Вторият начин не винаги е наличен. Късите тагове са на разположение единствено, когато са били включени. Това може да бъде направено посредством функцията short_tags() (само в PHP 3), включвайки конфигурационното условие short_open_tag в конфигурационния файл на PHP или като се компилира PHP с клаузата --enable-short-tags в configure. Въпреки че е включена по подразбиране в php.ini-dist, употребата на къси тагове не се препоръчва.

Четвъртият начин е наличен единствено ако таговете в стил ASP са включени чрез конфигурационната опция asp_tags.

Забележка: Поддръжка за тагове в стил ASP беше добавена в 3.0.4.

Забележка: Употребата на къси тагове трябва да бъде избягвана при разработването на приложения или библиотеки, предназначени за повторно разпространение или инсталиране на сървъри с PHP, които не са под ваш контрол, тъй като е възможно късите тагове да не се поддържат на сървъра. За преносим, разпространим код, бъдете сигурни, че не използвате къси тагове.

Затварящият таг на блока ще включи новия ред след него, ако има такъв. Също така, затварящият таг автоматично включва в себе си точка и запетая; не е необходимо да слагате точка и запетая на последния ред на PHP блока. Затварящият таг на PHP блок в края на файл е незадължителен.

PHP ви позволява да използвате структури като тази:

Пример 10-2. Излизане за напреднали

<?php
if ($expression) { 
    ?>
    <strong>This is true.</strong>
    <?php 
} else { 
    ?>
    <strong>This is false.</strong>
    <?php 
}
?>
Това работи както се очаква, защото когато PHP срещне затварящия таг ?>, той просто започва да извежда каквото намери, докато не срещне друг отварящ таг. Даденият пример е скалъпен, разбира се, но в повечето случаи за извеждане на големи блокове от текст, излизането от PHP контекст е по-ефикасно, отколкото предаването на целия текст на echo() или print() или нещо от този род.