Увидел поток об исключении закрывающих ?>
в PHP-скриптах и заставил меня задуматься.
Возьмите этот код:
foo.php
<?php
echo 'This is foo.php';
include('bar.php');
bar.php
<?php
echo 'This is bar.php';
Если вы создадите эти два скрипта и запустите их, php выведет:
This is foo.php
This is bar.php
(добавлена новая строка дляхудожественная лицензия, прежде чем кто-либо это укажет)
Итак, как получается: baz.php
<?php
echo 'This is foo.php';
<?php
echo 'This is bar.php';
приводит к предсказуемой синтаксической ошибке unexpected '<'
, когда "include"делает именно это - или, скорее, я понимаю, что include включает в себя то, что PHP просто выдает файл в тот момент, как если бы он всегда был там.
Проверяет ли PHP наличие открывающих тегов и игнорирует будущие теги, если файлвключено?Почему бы не сделать это, если в одном скрипте два набора тегов?
Спасибо за любые разъяснения.Не совсем важный вопрос, но было бы неплохо немного понять PHP.