Переменная Laravel Blade с строкой через @include вызывает ошибку
В Laravel 5.0.27 я включаю представление с переменной и следующим кодом:
@include('layouts.article', [
'mainTitle' => "404, page not found",
'mainContent' => "sorry, but the requested page does not exist :("
])
и я получаю следующую ошибку...
Синтаксис FatalErrorException... ошибка, неожиданность ','
Я сузил, что ошибка происходит исключительно из строки "(" в строке "mainContent", и когда я удаляю "(" ошибка исчезает, и все работает нормально ". Я ничего не могу найти в документации на эту или любые аналогичные ошибки, перечисленные в Интернете.
Кто-нибудь знает, если это ожидаемое поведение или если это ошибка, о которой следует сообщить?
Большое спасибо за ваше время!
Ответы
Ответ 1
Это не ошибка, а ограничение синтаксиса лезвия из-за регулярного выражения. Решение взято из github:
Проблема заключается в использовании многострочной линии. Вы можете использовать только одну строку для [pass variables] в Blade, поскольку синтаксис ограничен [регулярным Выражения]
Попробуйте использовать код ниже, и вам должно быть хорошо:
@include('layouts.article', ['mainTitle' => "404, page not found", 'mainContent' => "sorry, but the requested page does not exist :("])
Ответ 2
Вы можете передать массив данных
<?php $data=[
'mainTitle' => "404, page not found",
'mainContent' => "sorry, but the requested page does not exist :("
] ?>
@include('layouts.article', $data)
используйте $data['mainTitle']
т.д. в layouts.article
Ответ 3
в 5.8v включенные представления наследуют все переменные от родителя согласно документации ![enter image description here]()