Laravel 控制器 Controller 傳值到 檢視 View 的幾種方法總結

chihokyo發表於2018-10-16

從接觸程式設計,到PHP,總共學習了三個月,剛接觸laravel框架沒多久
對於新人來說,感覺傳值有的時候看起來太迷惑。所以在這裡整理一下,水平有限,也是第一次用markdown寫文件有任何錯誤或者需要改進的地方請諸位悉心賜教。

總體內容分為傳值型別和方法,大概總體感覺如下。

傳值型別:一個值,多個值,陣列。
方法: with,view,compact
預設檢視 test檔案下index.blade.php

單個值的傳遞

with

public function index() {
  $test = "測試";
  return view('test.index')->with('test',$test);
}

view

public function index() {
    return view('test.index', ['test' => '測試']);
}

compact

public function index() {
  $test = "測試";
  return view('test.index',compact('test'));
}

多個值的傳遞

with

public function index() {
  return view('test.index')->with(["test1" => "測試1", "test2" => "測試2", "test3" => "測試3"]);
}

view

public function index() {
  return view('test.index', ['test1' => '測試1','test2' => '測試2','test3' => '測試3']);
}

compact

public function index() {
  $test_1 = "測試1";
  $test_2 = "測試2";
  $test_2 = "測試3";
  return view('test.index',compact('test_1','test_2' ,'test_3' ));
}

陣列的傳遞

with

public function index() {
  $data = array( 'test1' => '測試1', 'test2' => '測試2', 'test3' => '測試3' );
  return view('test.index')->with($data);
}

view

public function index() {
  $data["test1"] = "測試1";
  $data["test2"] = "測試2";
  $data["test3"] = "測試3";
  return view('test.index',$data);
}

compact

//推薦此種方法
public function index() {
  $test_array = ["測試1","測試2", "測試2"];
  return view('test.index',compact('test_array'));
}

以上就是最近整理出來的一些傳值方法,不知道寫法上還有什麼更聰明的寫法。
第一次寫,主要是以學習的態度。望賜教。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
⬇︎第一次零基礎搭建的個人部落格。歡迎批評指正,大力鞭策!❤︎ 旺財的個人部落格(⌯¤̴̶̷̀ω¤̴̶̷́)✧ January 17th, 2020

相關文章