Php laravel控制器紧凑型';行不通
在我的路线中,我有:Php laravel控制器紧凑型';行不通,php,laravel,Php,Laravel,在我的路线中,我有: Route::get('/about','PagesController@about'); 在PagesController中: public function about() { $people=['Taylor','Matt','Jeffrey']; return view('pages.about',compact($people)); } 如果我使用 return view('pages.about',['people'=> $people
Route::get('/about','PagesController@about');
在PagesController中:
public function about()
{
$people=['Taylor','Matt','Jeffrey'];
return view('pages.about',compact($people));
}
如果我使用
return view('pages.about',['people'=> $people]);
它运行正常
控制器没有将阵列传递给视图,为什么?使用
compact('people')
如果您是初学者,请查看laracasts视频系列,以更好地了解Laravel框架。删除
$
内部的符号压缩
函数,如压缩('people')
。这会解决你的问题
compact()不是Laravel函数。这是一个PHP函数。它创建一个包含变量及其值的数组
例如,假设您有以下变量
$name = 'Jon Snow';
$dad = 'Rhaegar Targaryen';
$mom = 'Lyanna Stark';
如果您将它们放在compact()
中,如下所示
$thePrinceThatWasPromised = compact(['name', 'dad', 'mom']);
您将获得分配给$theprincethathathathathathat承诺的的以下数组
[
'name' => 'Jon Snow',
'dad' => 'Rhaegar Targaryen',
'mom' => 'Lyanna Stark'
]
有关更多信息,请访问compact('people')