1. 程式人生 > >Laravel基礎-檢視的變數傳參

Laravel基礎-檢視的變數傳參

對於傳參的方式,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']的陣列寫法;