laravel控制器紧凑不起作用

时间:2016-09-19 06:10:36

标签: 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]);

运行正常。

控制器没有传递数组来查看,为什么?

2 个答案:

答案 0 :(得分:4)

使用 compact('people')

如果您是初学者,请查看laracasts视频系列,以便更好地了解Laravel框架。

答案 1 :(得分:2)

删除$函数中的compact符号,如compact('people')。这将解决您的问题。

compact()不是Laravel函数。这是一个PHP函数。它创建一个包含变量及其值的数组。

例如,假设您有以下变量。

$name = 'Jon Snow';
$dad = 'Rhaegar Targaryen';
$mom = 'Lyanna Stark';

如果您按照以下方式将其放入compact()

$thePrinceThatWasPromised = compact(['name', 'dad', 'mom']);

您将获得以下分配给$thePrinceThatWasPromised的数组。

[
    'name' => 'Jon Snow',
    'dad' => 'Rhaegar Targaryen',
    'mom' => 'Lyanna Stark'
]

有关更多信息,请转到php manual