Ответ 1
Примечание: этот ответ был дан для Laravel 4.2, но он все равно должен применяться. Существуют некоторые особые случаи компиляции Blade, которые зависят от версии Laravel и/или PHP, поэтому лучше всего использовать комментарии Blade для простейших вариантов использования.
Решение состоит в том, чтобы использовать только комментарии Blade для простых замечаний или комментировать однолинейные функции Blade. Не вставляйте Blade/PHP-код внутри комментариев Blade. Используйте стандартные комментарии блоков PHP, чтобы прокомментировать несколько строк кода в одном комментарии (PHP, HTML, несколько функций лезвия и т.д.).
Действительные комментарии Blade:
Функция одиночного клинка:
{{-- Form::text('foo') --}}
Примечание:
{{-- Form Section 1 --}}
Недопустимые комментарии Blade:
Неправильный синтаксис:
{{-- Form::text('foo') -- }}
"@" Внутри комментария Blade
{{-- @Form::text('foo') --}}
Вложенный PHP:
{{-- <?php
echo "foo";
echo "bar
?> --}}
Вложенные клинки:
{{--
{{ HTML::form("foo") }};
{{ HTML::form("bar") }};
--}}
Вместо этого используйте комментарии блоков PHP. Они все еще пригодны для использования в файле blade.php
<?php /*
{{ HTML::form("foo") }};
{{ HTML::form("bar") }};
*/ ?>
Альтернативно, закомментируйте свой Blade по одной строке за раз:
{{-- HTML::form("foo") --}};
{{-- HTML::form("bar") --}};
Внутренности:
Для кода OP Laravel Blade Compiler создаст временный PHP файл, содержащий следующий PHP/HTML:
<?php /*
<div class="form-row">
<?php echo Form::label('foo', 'foo:'); ?>
<?php echo Form::text('foo'); ?>
</div>
<div class="form-row">
<?php echo Form::label('foo', 'foo:'); ?>
<?php echo Form::text('foo'); ?>
</div>
<div class="form-row">
<?php echo Form::label('foo', 'foo'); ?>
<?php echo Form::text('foo'); ?>
</div>
*/ ?>
Блейд внутри ваших комментариев Blade все еще анализируется на PHP. Теги конца PHP в блоке-комментарии PHP приводят к тому, что парсер Apache заканчивается раньше, в результате чего возникает плохо сформированный PHP/HTML, который может сбой вашего соединения (вероятно, вызванный оборванным */ ?>
).
? > выходит из режима PHP и возвращается в режим HTML, а//или # не может повлиять на это.
Использование любого из вышеупомянутых недопустимых комментариев Blade приведет к подобным проблемам компиляции. Избегайте комментариев Blade для чего-либо, кроме замечаний или комментирующих функции Blade из одной строки за раз.