Я признаю, что этот вопрос будет немного расплывчатым, но я попытаюсь объяснить, чего я пытаюсь достичь, на нескольких примерах. . У меня есть PHP-код, который загружает кучу переменных из базы данных MySQL, содержит некоторые объявления, некоторые функции для быстрого вывода HTML-кода и т. Д. Однако я хотел бы сделать все это, прежде чем что-либо будет отправлено клиенту.
Итак. Я делаю:
<?php
include("somefile.inc");
function bla()
{
...
}
if (fails)
echo "Error: ...<br />";
?>
<!DOCTYPE>
<html>
<head>
<script>
...
<?php echo $someString; ?>
...
</script>
</head>
<body>
...
</body>
</html>
Все нормально, пока я не получу сообщение об ошибке. Эхо не будет отображаться в браузере, потому что оно предшествует HTML ... Итак, я изменил:
<!DOCTYPE>
<html>
<head>
<script>
...
<?php echo $someString; ?>
...
</script>
</head>
<body>
<div class="error_block">
<?php
include("somefile.inc");
function bla()
{
...
}
if (fails)
echo "Error: ...<br />";
?>
</div>
...
</body>
</html>
Теперь я действительно могу видеть ошибки, и это хорошо. Но теперь возникает проблема, заключающаяся в том, что в заголовке или скриптах я не могу получить доступ к переменным, которые будут загружены позже во вновь созданном error_block.
Мне действительно не нравится разделять код в error_clock на некоторые из них над HTML-документом и некоторые в error_block. И я также не хочу использовать функцию PHP die (), которая резко завершает выполнение.
Кто-нибудь может дать свои 2 цента по этому вопросу? Спасибо.