Здравствуйте, я в настоящее время использую Microsoft Webmatrix, и всякий раз, когда я делаю декларацию XML, мой компилятор смешивает ее с тегом и заставляет весь остальной мой код PHP быть черным и не иметь цветовой кодировки, а также весь мой HTML, чтобы быть бежевым, как будто это был текст. Это становится большой проблемой, потому что мои веб-страницы становятся очень громоздкими, а читаемость — абсолютным кошмаром.
пример объявления xml:
<?php
$ThisvariableisNOTblack = "good";
$xml = <<<XML
*xml content*
XML;
$thisvariableisnowblack = "everything is now black below XML";
?>
Есть ли альтернатива этому стилю декларации XML?
Проблема может заключаться в закрытии XML;
из синтаксиса HEREDOC. Это должно быть в начале строки, без отступов.
Если это не в начале, элемент HEREDOC не заканчивается. Если WebMatrix распознает XML, содержимое после него становится недопустимым после закрывающего тега. Кроме того, HEREDOC допускает переменные (например, строка в двойных кавычках).
В большинстве случаев NOWDOC является лучшим решением:
<?php
$xml = <<<'XML'
<some>
<xml/>
</some>
XML;
Кроме того, строки PHP могут занимать несколько строк. Вы можете использовать одну строку в кавычках для вашего XML. Конечно, в этом случае вам придется избегать одинарных кавычек и обратной косой черты в строке.
$xml =
'<some>
<xml>with a single quote \' and a backslash \\</xml>
</some>';
Других решений пока нет …