Laravel Blade, передавая переменную со строкой через @include, вызывает ошибку

27

В Laravel 5.0.27 я включаю представление с переменной и следующим кодом:

@include('layouts.article', [
        'mainTitle' => "404, page not found",
        'mainContent' => "sorry, but the requested page does not exist :("
    ])

и я получаю следующую ошибку...

Синтаксис FatalErrorException... ошибка, неожиданность ','

Я сузил, что ошибка происходит исключительно из строки "(" в строке "mainContent", и когда я удаляю "(" ошибка исчезает, и все работает нормально ". Я ничего не могу найти в документации на эту или любые аналогичные ошибки, перечисленные в Интернете.

Кто-нибудь знает, если это ожидаемое поведение или если это ошибка, о которой следует сообщить?

Большое спасибо за ваше время!

  • 0
    Я не уверен, что для этого ответа дать пробел "(" Не могли бы вы попробовать? @joey
  • 0
    Кажется, это ошибка. Он может получить работу, используя какой-то метод экранирования. но по умолчанию должно работать как есть!
Показать ещё 3 комментария
Теги:
laravel-5
blade

1 ответ

29
Лучший ответ

Это не ошибка, а ограничение синтаксиса лезвия из-за регулярного выражения. Решение взято из github:

Проблема заключается в использовании многострочной линии. Вы можете использовать только одну строку для [pass variables] в Blade, поскольку синтаксис ограничен [регулярным Выражения]

Попробуйте использовать код ниже, и вам должно быть хорошо:

@include('layouts.article', ['mainTitle' => "404, page not found", 'mainContent' => "sorry, but the requested page does not exist :("])
  • 0
    Работало просто отлично, спасибо!
  • 2
    Похоже, что ограничение снято с Laravel 5.6 : cloud.mxchange.org/s/149vSQYmDeENiuY/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню