#php #laravel
#php #laravel
Вопрос:
Например, в parent.blade.php:
<?php $a = 20; ?>
{{$a}}
@include("child")
{{$a}}
и в child.blade.php:
{{$a}}
<?php $a = 10; ?>
{{$a}}
вывод:
20
20
10
20
Понятно, что переменная была передана от родительского элемента дочернему элементу, но ее изменение внутри дочернего элемента не влияет на родительскую переменную. Кроме того, если переменная не была объявлена в родительском элементе до включения дочернего элемента, она, конечно, приведет к ошибке, если будет использоваться после включения.
Комментарии:
1. включение блейда — это его собственное независимое представление, которое создается на фабрике представлений, ему передаются данные, оно отображается и отображается содержимое, это не php include
2. @lagbox ХОРОШО, я понял это. Как это решить??
3. у вас должен быть объект, поскольку он просто содержит идентификатор объекта, и вносить изменения в этот объект, или вам нужно будет назначить данные фабрике, а затем извлечь их обратно в родительском (или какой-либо другой вещи, которой вы могли бы присвоить значения, к которым вы можете получить доступ в обоих представлениях)