Laravel 向视图传递数据

Laravel 向视图传递数据

在这个主题中,我们将学习如何将数据传递给视图。

有多种方式可以向视图传递数据:

  • 使用 name 数组
  • 使用 with() 函数
  • 使用 compact() 函数

名称数组

名称数组是作为第二个参数传递给 view() 方法的数据数组。

让我们通过一个例子来理解。

步骤1: 首先,我们创建包含页面视图的 student.blade.php

student.blade.php

<html>
 <body>
 <h1>Name of the Students are : <br>
 <?php 
echo name1;
echo "<br>";
echoname2;
echo "<br>";
echo $name3; ?></h1>
</body>
</html>

在上面的代码中,我们显示了三个变量name1,name2和name3的值。这三个变量的值是从 StudentController.php 文件中获取的。

步骤2: 现在,我们创建了 StudentController.php 文件。

StudentController.php。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
   public function display()
  {
     return view('student',['name1'=> 'Anisha','name2'=>'Nishka','name3'=>'Sumit']);
  } 
  }

在上面的代码中,我们定义了一个 display() 函数,在这个函数中,我们返回了 student.blade.php 文件的视图。

步骤3: 现在,我们在 web.php 文件中定义路由。 web.php

Route::get('/details', 'StudentController@display');

输出

Laravel 向视图传递数据

with() 函数

我们还可以使用 with() 函数将数据传递给视图。

  • 首先,我们创建名为 student.blade.php 的文件,其中包含页面的视图。
<html>
 <body>
 <h1>Student id is : 
 <?php 
echo $id;
?>
</body>
</html>

上述代码显示了“ id ”的值。

  • 现在,我们创建 StudentController.php 文件。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
  public function display(id)
  {
    return view('student')->with('id',id);
  } 
}

在上面的代码中,我们创建了一个名为 display() 的函数,该函数返回 student.blade.php 文件的视图,并且我们使用 with() 函数传递了 id 的值。 with() 函数包含两个参数,即变量名(id)和 id 的值。

  • 现在,我们定义路由。
Route::get('/details/{id}', 'StudentController@display');

输出

Laravel 向视图传递数据

compact()函数

compact()函数也用于将数据传递给视图。它只包含一个参数,即变量的名称。

通过示例来理解。

  • 首先,我们创建包含页面视图的student.blade.php文件。
<html>
 <body>
 <h1>Name is : 
 <?php 
echo $name;?>
</body>
</html>
  • 现在,我们创建 StudentController.php 文件。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
    public function display($name)
  {
    return view('student?, compact('name'));
  } }
  • 现在,在 web.php 文件中定义路由。
Route::get('/details/{name}', 'StudentController@display');

输出

Laravel 向视图传递数据

我们可以向 compact() 函数传递多个参数。

通过一个例子来理解。

Student.blade.php

<html>
 <body>
<h1>Students Details : <br>
<font size='5' face='Arial'>
<?php 
echo "student id is :" .id;
echo "<br>";
echo "Student name is :" .name;
echo "<br>";
echo "Student password is :" .$password; ?></h1>
</font>
</body></html>

StudentController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
   public function display(id,name,$password)
  {
     return view('student',compact('id','name','password'));
  } 
}

web.php

Route::get('/details/{id}/{name}/{password}', 'StudentController@display');

输出

Laravel 向视图传递数据

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程