Я получаю эту ошибку:
Ошибка анализа: синтаксическая ошибка, неожиданный 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
. Не должно быть пустых символов.
<<<
is for heredoc: См. руководство
Убедитесь, что перед завершением ORDER;
нет SPACE / INDENTATION ORDER;
PHP Heredoc не очень хорошо Parse error: syntax error, unexpected T_SL
с символом%, а также вызывает 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;
происходит в начале строки, без пробелов перед ней.