📌  相关文章
📜  在 Laravel 中传递数据以查看的不同方法

📅  最后修改于: 2022-05-13 01:56:18.696000             🧑  作者: Mango

在 Laravel 中传递数据以查看的不同方法

Laravel 提供了不同的方式将数据传递给视图。我们可以直接从路由或通过控制器传递数据。

以下是我们可以将数据传递给视图的一些方法:

  • 使用视图()
  • 使用 with()
  • 使用紧凑()
  • 使用控制器类

1.使用view():我们可以直接在' view() '辅助函数中传递数据,方法是使用函数中的第二个参数,它接受一个数组作为键值对。

注意:评论或删除 ' web.xml 中任何以前的路线 ' routes ' 目录中的PHP ' 文件。

示例 1:

  1. 在' web.xml'中编写以下代码。 PHP ' 文件。
    Route::get('/', function () {
        return view('gfg', ['articleName' => 'Article 1']);
    });
    

    在 view() 中,第一个参数是视图的名称,第二个参数是我们必须指定数据的键值对的位置。

  2. 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
    
    
    
        GeeksforGeeks
    
    
        

    My Article

        

    {{ $articleName }}

    这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那里,我们指定了键的名称,作为PHP变量,我们在“视图”辅助函数中传递。

输出:

示例 2:我们也可以传递具有多个值的数组。

  1. 在' web.xml'中编写以下代码。 PHP ' 文件。
    Route::get('/', function () {
        return view('gfg', [ 'articles' => 
          ['Article 1','Article 2','Article 3'] ]);
    });

    view()中,第一个参数是视图的名称,第二个参数是我们指定数据的一个键和多个值的位置。

    我们还可以将数组元素存储在一个变量中,然后将其传递给视图函数。在下面的代码中,我们将所有值存储在一个变量中,并将其作为value传递给view()函数的第二个参数。

    Route::get('/', function () {
       $articles = ['Article 1','Article 2','Article 3'];
       return view('gfg', ['articles' => $articles]);
    });
    
  2. 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
    
    
    
        GeeksforGeeks
    
    
        

    My Article

        
              @foreach ($articles as $article)             
    • {{ $article }}
    •         @endforeach     

    注意:两种方法的输出将相同。

输出:

2. 使用 with(): ' with() ' 是一种传递单个数据形式的方法,与 ' view ' 辅助函数一起使用。
注意:评论或删除 ' web.xml 中任何以前的路线 ' routes ' 目录中的PHP ' 文件。

例子:

  1. 在' web.xml'中编写以下代码。 PHP ' 文件。
    Route::get('/', function () {
       $articleName = ‘Article 1’;
       return view('gfg')->with('articleName', $articleName)->
                    with('articlePublished', 'On GeeksforGeeks');
    });

    正如你在上面的代码中看到的,我们必须指定一个箭头' -> ',然后使用' with() '方法和' view() '辅助函数。我们可以根据需求和用例指定一个或多个' with() '。

  2. 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
    
    
    
        GeeksforGeeks
    
    
        

    My Article

        

    {{ $articleName }}

        

    {{ $articlePublished }}

    这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那,我们已经指定了键的名称,作为PHP变量,我们在“view”辅助函数中传递。

输出:

3. 使用 compact(): ' compact() ' 是一个PHP函数,可用于创建具有变量和值的数组。这里变量上的名称是键,变量内容是值。

注意:评论或删除 ' web.xml 中任何以前的路线 ' routes ' 目录中的PHP ' 文件。

例子:

  1. 在' web.xml'中编写以下代码。 PHP ' 文件。
    Route::get('/', function () {
        $articleName = ['Article 1','Article 2'];
        $articlePublished = 'On GeeksforGeeks';
        return view('gfg', compact('articleName', 
                             'articlePublished'));
    });

    在 view() 中,第一个参数是视图的名称,第二个参数是我们必须指定 ' compact() '函数的地方。

  2. 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
    
    
    
        GeeksforGeeks
    
    
        

    My Article

             @foreach ($articleName as $article)         
  3. {{ $article }}
  4.     @endforeach     

    {{ $articlePublished }}

    这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那里,我们指定了键的名称,作为PHP变量,我们在“视图”辅助函数中传递。

      输出:

      4. 使用控制器类:使用控制器类传递数据很简单,而且是正确的方法。
      注意:评论或删除 ' web.xml 中任何以前的路线 ' routes ' 目录中的PHP ' 文件。

      例子:

      1. 我们首先必须通过在命令行上运行以下命令来创建一个控制器类。
        php artisan make:controller GfGController
      2. 之后,打开' GfGController.在 'app/ PHP /Controllers ' 目录中创建一个名为 ' article ' 的公共函数。在这个函数中,我们可以指定我们上面看到的任何数据传递方法。
        
                          'Passing Data to View']);
            }
        }
        
      3. 现在,在' web.xml 中编写以下代码。 PHP ' 文件。
        Route::get('/', 'GfGController@article');
        

        其中,第一个参数是路由,第二个参数是控制器名称,带有处理路由的函数名称,以' @ '分隔。

      4. 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
        
        
        
            GeeksforGeeks
        
        
            

        My Article

            

        {{ $article }}

        这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那里,我们指定了键的名称,作为PHP变量,我们在“视图”辅助函数中传递。

          输出:

          PHP是一种专门为 Web 开发而设计的服务器端脚本语言。您可以按照此PHP教程和PHP示例从头开始学习PHP 。