Что происходит с HTML тегами, при чтении файла .php?

Brazzford

Новичок
Здравствуйте! Например, у меня есть файл index.php с таким вот кодом:
Код:
<b><?php echo "x равно: " . $x = 2+7; ?> </b>
Я запрашиваю этот файл, как я понял PHP интерпретатор переводит всё что внутри <?php?> в какие-то байт-коды и как-то там выполняет… А что происходит с HTML тегами? Понятно, что PHP на них не обращает внимание, и они просто отсылаются браузеру. Но они тоже предварительно конвертируются в какие-то коды и только потом отсылаются? И кто эту конвертацию делает?
 

Вурдалак

Продвинутый новичок
То, что вне PHP-тегов, тоже конвертируется в команды вывода. Т.е. в итоге будет один и тот же байткод, что для
PHP:
<?php echo '<b>'; ?>
что для
PHP:
<b>
 
  • Like
Реакции: AmdY

Brazzford

Новичок
Спасибо за ответ! А вот у меня ещё один вопрос. Работает ли вся эта штука таким образом: интерпретатор наткнулся на <b> и отправил его браузеру, затем обрабатывается <?php echo "x равно: " . $x = 2+7; ?> и отсылается в след, и в конце отсылается закрывающий тег </b>? Или результат исполнения кода отсылается целиком?
 

peon

Lok'tar ogar
формируется в одно целое, а потом сервер по кусочкам отправляет тебе получившуюся страницу
 

Вурдалак

Продвинутый новичок
Сначала интерпретатор превратит исходный код в набор простых команд (байткод), только после этого начинает выполнять. Отправлять сразу или нет зависит от настроек буферизации вывода (output buffering) как на уровне PHP, так и на уровне сервера.
 

Brazzford

Новичок
Понял. А правильно ли я полагаю, что результат выполнения PHP кода передаётся Apache и уже тот, этот результат, отправляет браузеру?
 
Сверху