Подтвердить что ты не робот

Переменная 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", и когда я удаляю "(" ошибка исчезает, и все работает нормально ". Я ничего не могу найти в документации на эту или любые аналогичные ошибки, перечисленные в Интернете.

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

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

4b9b3361

Ответ 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