Ответ 1
Проверьте пробелы после <<<ORDER
. Не должно быть пустых символов.
Я получаю эту ошибку:
Ошибка анализа: синтаксическая ошибка, неожиданный T_SL в строке 23
Вот строка 23:
$selectorder = <<<ORDER
Здесь он находится в контексте:
$grid->setUrl('myfirstgrid.php');
$selectorder = <<<ORDER
function(rowid, selected)
{
if(rowid != null) {
alert("selected: "+rowid);
}
}
ORDER;
$grid->setGridEvent('onSelectRow', $selectorder);
Что вызывает эту ошибку?
Я лично не знаю, что <<<
делает и никогда не использовал его, я получил его из учебника. Я попытался это сделать, но вы не можете использовать такие символы google: (
Проверьте пробелы после <<<ORDER
. Не должно быть пустых символов.
<<<
для heredoc: См. руководство
Убедитесь, что перед ORDER;
PHP Heredoc не очень хорошо сочетается с символом%, а также вызывает Parse error: syntax error, unexpected T_SL
:
<?php
$var=<<<%%SHRUBBERY%%
Nih!
%%SHRUBBERY%%;
?>
Также убедитесь, что у вас есть 3 '< < <'. Опуская один, он выкинет эту ошибку. Также, если вы используете NOWDOC, убедитесь, что ваш хостинг-провайдер установил php 5.3. Плюс, если ваша среда php ниже 5.3, не используйте двойные кавычки или одинарные кавычки.
Он называется "Синтаксис Heredoc", и он позволяет вам указывать большие строки без использования кавычек. В этом случае, похоже, вы используете его для ввода кода JavaScript в переменную. Поскольку вы начали строку с <<<ORDER
, вы можете завершить ее с помощью ORDER;
, так как у вас есть — но вам нужно убедиться, что ORDER;
встречается в начале строки без пробелов.