Laravel基礎-檢視的變數傳參
阿新 • • 發佈:2019-01-31
對於傳參的方式,Laravel框架給予了多種不同方式來處理,大體可分為兩類:
(1)、在返回視圖裡傳參,如:return view('xxx',$data);
(2)、外部傳參;如:return view('xxx')->with('_data', $data);
具體使用方式如下:
1、在view方法裡傳參,具體場景:
(1)、資料量大,不適合外部with方法鏈式操作的方法;
(2)、程式碼量需求小的情況;
具體實現方式:
首先建立一個擁有字串和陣列等資料格式的方法,方便使用;
public function index(){
$_item = 'food';
$_price = '100';
$_data = [
'name' => 'faceless',
'sex' => 'faleman',
];
$_info = 'other info';
}
(1)、return view('test_laravel',$_item); 在test_laravel.blade.php模板裡使用原生方式寫入: <?php echo $_item;?> (2)、return view('test_laravel',$_data); <?php echo $name;?> (3)、return view('test_laravel',compact('_data','_price')); <?php echo $_data['name']; echo $_price;?> //相信你能看出來,compat方法支援陣列和單個字串變數同時注入的方式,且注意,用compat方法注入的陣列一定要規範的使用$_data['name']陣列寫法來輸出。
2、在view外傳參(即使用with()方法傳參),具體場景:
(1)、在資料量不大的場景;
(2)、在只需完成功能無需規範和程式碼清晰的場景;
具體實現方式:
return view('test_laravel')->with('data',$_data)->with('item',$_item);
在檢視中實現這些變數:
<?php echo $data['sex'];
echo $item;
?>
可以看到,在view方法外注入變數,只能指向方法的方式來完成。且with()方法不支援陣列內元素的字串寫法(如直接在模板中使用:$sex ),即一定要使用$_data['sex']的陣列寫法;