我似乎无法在Breadcrumbs实例中访问$ module。我该如何访问它?
$modules = Module::all();
foreach ($modules as $module)
{
Breadcrumbs::register($module->name, function($b)
{
$b->parent('modules');
$b->push($module->display_name, url('/module/' . $module->name));
});
}
答案 0 :(得分:2)
这是一个可变范围问题。为了能够访问闭包内的局部变量,您必须使用use(...)
Breadcrumbs::register($module->name, function($b) use ($module)
{
$b->parent('modules');
$b->push($module->display_name, url('/module/' . $module->name));
});
This answer提供了对整个主题的非常好的解释
答案 1 :(得分:0)
$modules = Module::all();
foreach ($modules as $module)
{
Breadcrumbs::register($module->name, function($b) use ($module)
{
$b->parent('modules');
$b->push($module->display_name, url('/module/' . $module->name));
});
}
因此use关键字。