'有什么用? => '和' - >'在Laravel?

时间:2017-09-26 14:04:13

标签: php laravel-5

在PHP中,我已经理解双箭头(=>)与数组一起使用为键赋值,而对象运算符( - >)用于访问对象的属性(方法和变量) )。

请查看以下代码:

public function show() {
    $items = Test::all();
    return view('display'['item'=> $items]);
}

有人能解释一下双箭头(=>)运算符在这里做了什么以及在这种情况下它是如何实现的?

foreach($items as $item) {
    echo $item->name;
}

根据定义,对象运算符( - >)的左侧必须是实例变量。那么这个算子在这里是如何适用的?

2 个答案:

答案 0 :(得分:0)

当你在php脚本中定义$ Items变量时,你正在实例化一个php对象。接下来,在将对象推送到视图之前,将对象指定为数组[Item => object]中的值。在视图中,您现在可以通过使用它在foreach循环中的键[$ Item]作为$ Value调用它来访问该对象,然后从那里您可以访问,就像您通常在PHP脚本中那样,因为视图引擎。

从底线开始,您将对象传递给视图,这样您仍然可以使用模板引擎和Laravel框架在前端访问它的属性和方法。

答案 1 :(得分:0)

public function show()
{
    // This returns an array of Item objects. In this case 'items' is 
    // probably a table in your database, so each Item object is a
    // row in that table.
    $Items = Item::all();

    // give this array as 'Items' to the view (don't forget the comma here)
    return view('display', ['Items' => $Items]);
}

在您的视图中,您应该使用相同的变量名称。 (我在此示例中使用刀片模板)

@foreach ($Items as $item):
   {{ $item->ItemName }}
@endforeach