从包含在laravel中的刀片获得刀片变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从包含在laravel中的刀片获得刀片变量相关的知识,希望对你有一定的参考价值。
我试图在刀片中设置一个php变量。它的工作但也在同一刀片上,而不是在其他刀片上设置var。
例:
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
答案
请试试这个
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}}
另一答案
因为$ color是局部变量。它就像在A函数中声明$ color变量一样,它的范围在函数内。如果你可以访问同一类的B函数中的$ color,则无法访问它。你的上述情况与此相同。
您可以将此代码放在控制器中:
if(isset($company)) {
$color = $company->color;
} else {
$color = $app_color;
}
return view('index', compact('color', $color));
现在,如果在索引刀片视图中包含此行@include('header'),则可以在索引和标题视图中访问$ color变量。我希望这会有所帮助。
以上是关于从包含在laravel中的刀片获得刀片变量的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?
Laravel 刀片模板,URL::to 中的 foreach 变量?