Когато PHP прави разбор на файл, той гледа за отварящи и затварящи тагове, които да укажат започването и спирането на интерпретацията на кода между тях. Този вид разбор позволява php да бъде поставян в най-различни документи като всичко извън двойката отварящи и затварящи тагове се игнорира от синтактичния анализатор на PHP. В повечето случаи ще видите php, поставен в документи от тип HTML, както в следния пример.
<p>Това ще бъде игнорирано.</p>
<?php echo 'Докато това ще бъде анализирано.'; ?>
<p>Това също ще бъде игнорирано.</p>
Можете да използвате и по-сложни структури:
Example #1 Излизане за напреднали
<?php
if ($expression) {
?>
<strong>Това е истина.</strong>
<?php
} else {
?>
<strong>Това е неистина.</strong>
<?php
}
?>
Това работи както се очаква, защото когато PHP се натъкне на затварящия таг ?>, той просто започва да извежда всичко, което намери (с изключение на първия знак за нов ред - вж. разделяне на инструкции ), докато не намери друг отварящ таг. Даденият пример е скалъпен, разбира се, но за извеждането на големи блокове от текст излизането от синтактичния режим на PHP като цяло е по-ефикасно, отколкото изпращането на целия текст през echo() или print().
Има четири различни двойки отварящи и затварящи тагове, които могат да бъдат използвани в PHP. Две от тях (<?php. . .?> и <script language="php">. . .</script>) са налични винаги. Другите две са късите тагове и тези в стил ASP и могат да бъдат включвани или изключвани в конфигурационния файл php.ini. Като такива, въпреки че някои хора считат късите тагове и тези в стил ASP за удобни, те не са толкова преносими и като цяло не са препоръчителни.
Забележка: Също така, ако възнамерявате да вмъквате PHP код в XML или XHTML, ще трябва да използвате <?php. . .?> формата, за дa бъде съобразен със стандартите.
Example #2 Отварящи и затварящи тагове в PHP
1. <?php echo 'правете така, ако искате да работите с документи от тип XHTML или XML'; ?>
2. <script language="php">
echo 'някои редактори (като FrontPage) не
харесват ходовите инструкции';
</script>
3. <? echo 'това е най-простата, SGML-ходова инструкция'; ?>
<?= expression ?> Това е съкращение на "<? echo expression ?>"
4. <% echo 'По избор, можете да използвате тагове в стил ASP'; %>
<%= $variable; # Това е съкращение на "<% echo . . ." %>
Въпреки че таговете в примери едно и две са налични винаги, първият пример е най-използван и е препоръчителен.
Късите тагове (пример три) са налични единствено ако са били позволени посредством конфигурационната директива short_open_tag в php.ini или ако php е конфигуриран с --enable-short-tags.
Таговете в стил ASP (пример четири) са налични единствено ако са били позволени посредством конфигурационната директива asp_tags в php.ini.
Забележка: Употребата на къси тагове трябва да бъде избягвана при разработването на приложения или библиотеки, предназначени за повторно разпространение или инсталиране на сървъри с PHP, които не са под ваш контрол, тъй като е възможно късите тагове да не се поддържат на сървъра. За преносим, разпространим код, се осигурете, че не използвате къси тагове.