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
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

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

6年前 评论

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

6年前 评论