получить вар лезвия из включенного лезвия в ларавелле - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь установить переменную php в blade.Он работает, но также на том же блэйде и не устанавливает переменную на других блэйдах.

пример:

header.blade.php

@if(isset($company))
   @php ($color = $company->color)
@else
   @php ($color = $app_color)
@endif
The color: {{$color}}  //Output: The color: green

и если я включилэтот клинок к другому клинку его не установить этот вар.как:

index.blade.php

@include('header')
The Color: {{$color}}
//Output: The Color: green
//The Color: null

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Поскольку $ color является локальной переменной.Это так же, как если бы вы объявили переменную $ color в функции A, и ее область действия находится внутри функции.Если вы можете получить доступ к $ color в функции B того же класса, это не доступно.Ваша ситуация выше такая же.

Вы можете поместить этот код в свой контроллер:

if(isset($company)) {
    $color = $company->color;
} else {
    $color = $app_color;
}
return view('index', compact('color', $color));

И теперь вы можете получить доступ к переменной $ color в обоих Индекс и заголовок , если вы включите эту строку @ include ('header') в представлении индексного блейда.Я надеюсь, что это будет полезно.

0 голосов
/ 07 декабря 2018

Пожалуйста, попробуйте это

header.blade.php

@if(isset($company))
   @php $color = $company->color; @endphp
@else
   @php $color = $app_color; @endphp
@endif

index.blade.php

@include('header')
The Color: {{ $color}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...