Laravel Blade включает в себя: как передать переменную от дочернего элемента к родительскому?

#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. у вас должен быть объект, поскольку он просто содержит идентификатор объекта, и вносить изменения в этот объект, или вам нужно будет назначить данные фабрике, а затем извлечь их обратно в родительском (или какой-либо другой вещи, которой вы могли бы присвоить значения, к которым вы можете получить доступ в обоих представлениях)