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

从接触编程,到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'));
}

以上就是最近整理出来的一些传值方法,不知道写法上还有什么更聪明的写法。
第一次写,主要是以学习的态度。望赐教。

致力于把博士生的内容说给小学生听

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

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

4个月前
iVerywang

@johnlui 第一此见这种写法

3周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!