Laravel 控制器 Controller 传值到 视图 View 的几种方法总结

从接触编程,到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
chihokyo
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

->withUser($user)->withArticle($article)->withTitle($title)

5年前 评论

->withUser($user)->withArticle($article)->withTitle($title)

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!