Php Laravel视图接收未传递给它的变量
我遇到了一个奇怪的问题,导致变量被传递到子视图,即使它实际上没有在父视图中定义 这是我用来包含使用刀片语法的视图的代码:Php Laravel视图接收未传递给它的变量,php,laravel-4,Php,Laravel 4,我遇到了一个奇怪的问题,导致变量被传递到子视图,即使它实际上没有在父视图中定义 这是我用来包含使用刀片语法的视图的代码: @include('segments/tasksList') 但是如果它在segments/tasksList.blade.php中执行以下代码 <++ dd($user) ++> 结果我得到了bool(true) 不介意我更改了Blade语法,因为它干扰了AngularJS。多亏我注意到我的控制器中有 return View::make('pages/c
@include('segments/tasksList')
但是如果它在segments/tasksList.blade.php中执行以下代码
<++ dd($user) ++>
结果我得到了bool(true)
不介意
我更改了Blade语法,因为它干扰了AngularJS。多亏我注意到我的控制器中有
return View::make('pages/company', ['user' => Auth::user()]);
这导致
$user
变量被传递到所有子视图。我猜代码中的某个地方有View::share('user',…)
,它向所有视图公开变量,即使它没有显式传递到视图。如果dd(\u肯定不存在的某个变量)
,你会得到同样的结果吗?你是对的,如果我尝试使用另一个变量,那么我会收到bool(false)
,但现在的问题是$user
变量在哪里定义?我从未使用过View::share()
函数。您使用的是哪个版本的Laravel?我假设$user
与$errors
一样是“保留”的,在转储时,它应该给您一个空的MessageBag
实例(除非它包含任何明显的内容)。您使用的是Auth
?我使用的是Laravel4.2。是的,我正在使用Auth
,但是在这种情况下,我不需要经过身份验证的用户的实例。无论如何,在我的ViewController中,我错误地使用了:returnview::make('pages/company',['user'=>Auth::user())通过删除,['user'=>Auth::user()]
将不再定义$user
变量。它是否会传播到所有子视图?是的,视图变量肯定会传递到子视图。